Проблема кэширования в Celery
У меня есть запланированное задание, которое запускается каждые 2 дня для отправки напоминаний людям, которые не прочитали и не подтвердили документы в системе. Функция работает нормально, когда я запускаю ее в оболочке, и все результаты правильные. Но когда celery запускает задачу, она выдает (как я полагаю) неверные результаты.
Означает, что пользователь подтвердил документ, но система все еще посылает ему напоминания о документе.
Ниже приведена моя задача:
@shared_task(bind=True, autoretry_for=(Exception,), retry_backoff=5, retry_kwargs={'max_retries': 5})
def acknowledgment_reminder(self):
customers = Customer.objects.filter(is_deleted=False)
for customer in customers:
log.info(customer.full_name)
not_accepted = customer.not_accepted.filter(document__is_deleted=False, document__section__isnull=False)
log.info(not_accepted.count())
if not not_accepted:
continue
customer.send_email(email_type='not_accepted', not_accepted=not_accepted)