switch to timezone aware now()

This commit is contained in:
Mira Weller
2025-04-03 13:41:14 +02:00
parent bba84f76d3
commit 1a88db10ff

View File

@@ -23,7 +23,7 @@
import json import json
import logging import logging
from collections import namedtuple from collections import namedtuple
from datetime import datetime, timedelta from datetime import timedelta
from functools import cached_property from functools import cached_property
from itertools import groupby from itertools import groupby
@@ -31,6 +31,7 @@ import sentry_sdk
from django.db import models from django.db import models
from django.db.models import Q from django.db.models import Q
from django.dispatch import receiver from django.dispatch import receiver
from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django_scopes import scope, scopes_disabled from django_scopes import scope, scopes_disabled
@@ -53,6 +54,7 @@ MODE_APPEND_LIST = "append"
class OrderSyncQueue(models.Model): class OrderSyncQueue(models.Model):
class Meta: class Meta:
unique_together = (("order", "sync_provider"),) unique_together = (("order", "sync_provider"),)
ordering = ("triggered",)
order = models.ForeignKey( order = models.ForeignKey(
Order, on_delete=models.CASCADE, related_name="queued_sync_jobs" Order, on_delete=models.CASCADE, related_name="queued_sync_jobs"
@@ -130,7 +132,7 @@ def sync_all():
OrderSyncQueue.objects OrderSyncQueue.objects
.select_related("order") .select_related("order")
.prefetch_related("order__event") .prefetch_related("order__event")
.filter(Q(not_before__isnull=True) | Q(not_before__lt=datetime.now()))[:1000] .filter(Q(not_before__isnull=True) | Q(not_before__lt=now()))[:1000]
) )
grouped = groupby(sorted(queue, key=lambda q: (q.sync_provider, q.order.event)), lambda q: (q.sync_provider, q.order.event)) grouped = groupby(sorted(queue, key=lambda q: (q.sync_provider, q.order.event)), lambda q: (q.sync_provider, q.order.event))
for (target, event), queued_orders in grouped: for (target, event), queued_orders in grouped:
@@ -200,7 +202,7 @@ class OutboundSyncProvider:
Optionally override to configure a different retry backoff behavior Optionally override to configure a different retry backoff behavior
""" """
def next_retry_date(self, sq): def next_retry_date(self, sq):
return datetime.now() + timedelta(hours=1) return now() + timedelta(hours=1)
""" """
Optionally override this method to exclude certain orders from sync by returning False Optionally override this method to exclude certain orders from sync by returning False