методы объекта pellon сельдерея

Я пытаюсь обернуть задачи для сельдерея вокруг метода объекта python. Подобно:

class A: @task def test_task(self,args): print "BLah..test" def main(): a= A() args = {} a.test_task(args) 

Теперь это сбой с ошибкой test_task принимает по крайней мере 2 аргумента (1 данный). Мое понимание – это сам объект, который не проходит. Почему это так? и как мне обойти это?

Обновление: Это было мое отсутствие понимания сельдерея. Декоратор @task – это просто добавить / обработать связанные с сельдерием параметры. он автоматически не делает каждый вызов функции задачей сельдерея. функция должна быть вызвана как a.test_task.delay (args) .. в этом проблема …

2 Solutions collect form web for “методы объекта pellon сельдерея”

Вам нужно иметь test_task как метод? Будет ли работать простая функция? Или вы можете использовать статический метод? BTW, ваша main функция не использует сельдерей для выполнения test_task , он запускает его как простой метод.

Начиная с версии 3.0 Celery теперь поддерживает методы как задачи: http://docs.celeryproject.org/en/latest/reference/celery.contrib.methods.html

Python - лучший язык программирования в мире.