Ошибка нетипового расписания Django-Q при использовании пользовательской функции
Я пытаюсь создать несколько запланированных задач в моем Django проекте, используя Django-Q. Проблема в том, что каждая задача по расписанию терпит неудачу, вызывая следующее исключение:
'NoneType' object is not callable : Traceback (most recent call last):
File "/home/ubuntu/.virtualenvs/gamesquare-pre/lib/python3.6/site-packages/django_q/cluster.py", line 432, in worker
res = f(*task["args"], **task["kwargs"])
TypeError: 'NoneType' object is not callable
Расписание называется так:
from django_q.tasks import schedule
schedule('orders.mails.product', 2, 2, schedule_type='O')
Затем, в mails.py (та же папка) у меня определен метод product:
def product(x, y)
return x * y
Моя конфигурация Django-Q в settings.py:
Q_CLUSTER = {
'name': 'qclust',
'workers': config('Q_CLUSTER_WORKERS', cast=int),
'timeout': 20,
'cpu_affinity': 1,
'save_limit': 50,
'queue_limit': 100,
'redis': {
'host': 'localhost',
'port': 6379,
'db': 0
}
}
Может ли кто-нибудь помочь с этой проблемой?
Ваш путь или функция, похоже, отсутствуют или неверны orders.mails.product
убедитесь, что это существует
Я полагаю, что вам, возможно, не хватает строки кода в начале для импорта метода product:
from .mails import product
Тогда при создании расписания оно будет выглядеть следующим образом:
schedule(product, 2, 2, schedule_type='O')