dimanjy
@dimanjy
Недопрограммист и полуинженер.

Как метод класса сделать задачей Celery?

Ковыряю один заброшенный репозиторий на GitHub, а там метод класса используется в качестве задачи в Celery,
т.е.
class SomeClass(object):

    def __init__(self, celery):
        self.task = celery.task(self.task_method)

    def task_method(self, param1, param2):
        return param1 + param2

    def _logic(self):
        foo = self.task.s(param1, param2)
        return foo.apply_async()


Ну и вот в последней строчке вылетает `ValueError` с криком, что `task_method` принимает 3 аргумента, а передано всего 2!

В Celery 3 была тестовая поддержка декораторов для методов, а в 4-ом её убрали, и мне теперь вообще не понятно, как из метода класса сделать задание в Celery :(
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы