Я пишу небольшое приложение Django, и я должен был бы создать для каждого объекта модели, его периодическая задача, которая будет выполнена с определенным интервалом. Я использовать для этого приложения сельдерея, но я не могу понять одну вещь:Собственные параметры метода PeriodicTask run() в Celery
class ProcessQueryTask(PeriodicTask):
run_every = timedelta(minutes=1)
def run(self, query_task_pk, **kwargs):
logging.info('Process celery task for QueryTask %d' %
query_task_pk)
task = QueryTask.objects.get(pk=query_task_pk)
task.exec_task()
return True
Тогда я буду делать следующее:
>>> from tasks.tasks import ProcessQueryTask
>>> result1 = ProcessQueryTask.delay(query_task_pk=1)
>>> result2 = ProcessQueryTask.delay(query_task_pk=2)
Первый звонок успех, но и другие периодические звонки возвращаются ошибка - TypeError: run() принимает ровно 2 аргумента без ключевого слова (1 задано) в сервер celeryd. Могу ли я передать собственные параметры PeriodicTask run()
?