Coverage for src/orders/tasks.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-08-04 12:59 +0300

1from celery import shared_task 

2 

3from django.utils import timezone 

4from datetime import timedelta 

5 

6from src.orders.models import Order 

7from src.orders.choices import OrderStatusChoices 

8 

9 

10@shared_task 

11def complete_old_orders(): 

12 cutoff = timezone.now() - timedelta(days=1) 

13 # cutoff = timezone.now() - timedelta(seconds=30) 

14 

15 Order.objects.filter( 

16 status=OrderStatusChoices.PENDING, created_at__lt=cutoff 

17 ).update(status=OrderStatusChoices.COMPLETED)