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
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
1from celery import shared_task
3from django.utils import timezone
4from datetime import timedelta
6from src.orders.models import Order
7from src.orders.choices import OrderStatusChoices
10@shared_task
11def complete_old_orders():
12 cutoff = timezone.now() - timedelta(days=1)
13 # cutoff = timezone.now() - timedelta(seconds=30)
15 Order.objects.filter(
16 status=OrderStatusChoices.PENDING, created_at__lt=cutoff
17 ).update(status=OrderStatusChoices.COMPLETED)