Я пытаюсь повторить задачу, которая не со следующим кодом:Сельдерей - задача повторить вызывает странные ошибки
@task(bind=True)
def update_listing(self, listing_object, retailer):
try:
listing = _update_listing(listing_object, retailer)
except Exception as exc:
raise self.retry(exc=exc)
return listing
Это вызывает следующее сообщение об ошибке будет брошено:
Reject: (TypeError('__init__() takes exactly 2 arguments (3 given)',), True)
я могу с чем связана эта ошибка, или как я могу ее исправить. Я правильно вызываю метод повтора?
Моего файл сельдерей конфигурация выглядит так:
BROKER_URL = "redis://localhost:6379/0"
CELERY_IMPORTS = ("tasks",)
CELERY_RESULT_BACKEND = "redis://localhost:6379/0"
CELERY_IGNORE_RESULT = True
Edit: Полные трассировки стеки:
Traceback (most recent call last):
File "/home/my-project/venv/local/lib/python2.7/site-packages/celery/app/trace.py", line 218, in trace_task
R = retval = fun(*args, **kwargs)
File "/home/my-project/venv/local/lib/python2.7/site-packages/celery/app/trace.py", line 398, in __protected_call__
return self.run(*args, **kwargs)
File "/home/my-project/tasks.py", line 156, in update_listing
raise self.retry(exc=exc)
File "/home/my-project/venv/local/lib/python2.7/site-packages/celery/app/task.py", line 666, in retry
raise Reject(exc, requeue=True)
Reject: (TypeError('__init__() takes exactly 2 arguments (3 given)',), True)
Я попытался с помощью «приложения вместо синтаксиса, но я все еще испытываю одну и ту же проблему :( – Hanpan
Какой синтаксис приложения .. Я не понимаю ... Я использую 'from celery.contrib.methods import task' вместо' из задачи импорта сельдерея', или использовать обычные функции вместо методов внутри классов. – securecurve