Как устранить ошибку типа django-q qcluster?
Я пытаюсь установить запланированные задачи на моем сервере django с помощью qlcuster, следуя этому руководству.
Некоторые объекты в моей базе данных имеют поле срока годности, которое устанавливается для каждого нового объекта, поэтому я хочу, чтобы рабочий проверял каждый день объекты, срок годности которых истек, и удалял их.
Моя задача записана следующим образом :
from datetime import datetime
from .models import MyObject
def delete_expired_objects():
"""
Deletes all objects expired
"""
expired_obj = MyObject.objects.filter(expirationDate__lte=datetime.today())
expired_obj.delete()
Расписание устанавливается без проблем, но при запуске планировщика он выдает несколько ошибок, говоря, что тип неправильный, так как он, очевидно, не ожидает строку :
Сообщение: TypeError('неподдерживаемый тип для компонента timedelta seconds: str') Arguments: ('Traceback (most recent call last):\n File "/usr/local/lib/python3.10/site-packages/django_q/cluster.py", строка 345, in pusher\n task_set = broker.dequeue()\n Файл "/usr/local/lib/python3.10/site-packages/django_q/brokers/orm.py", строка 64, в dequeue\n tasks = self.get_connection().filter(key=self.list_key, lock__lt=_timeout())[\n Файл "/usr/local/lib/python3.10/site-packages/django_q/brokers/orm.py", строка 14, в _timeout\n return timezone.now() - timedelta(seconds=Conf.RETRY)\nTypeError: unsupported type for timedelta seconds component: str\n',)
Есть ли способ присвоить ему значение int и при этом проверить, не старше ли дата сегодняшнего дня?