Ошибка нетипового расписания 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')
Вернуться на верх