Ковыряю один заброшенный репозиторий на 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 :(