2012-01-13 2 views
1

Я пытаюсь получить обертку задач сельдерея вокруг метода объекта python. Нравится:Методы объекта celery 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) .. в этом проблема ...

ответ

0

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

+0

Да .. только понял ошибку .. получил ответ от Irc канала .. –

Смежные вопросы