Предположим
Код: Выделить всё
@task(name='adder')
def add(x, y):
return x + y
def run_task(taskfn: "?", *a, **kw):
# do something here
taskfn.apply_async(args=a, kwargs=kw)
...
>>> run_task(add, 1, 2) # usage
< /code>
Моя путаница лежит здесь: < /p>
>>> from celery.task import Task
>>> from celery.local import PromiseProxy
>>> type(add).__name__
'PromiseProxy'
>>> isinstance(add, Task)
False
>>> isinstance(add, PromiseProxy)
True
Это не было бы проблемой, я мог бы легко выполнять задачу: не почувствую, что не будет. Не существует метода Apply_async на romiseproxy . Итак, мой вопрос: должен ли я сделать, какой тип говорит мне или думать с точки зрения утки и перейти с задачей ?
Подробнее здесь: https://stackoverflow.com/questions/637 ... elery-task