Правильный тип аннотации для задачи сельдереяPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Правильный тип аннотации для задачи сельдерея

Сообщение Anonymous »

Я ищу правильную аннотацию типа для атрибуции задачи сельдерея, которая была установлена ​​сельдереем @Task декоратором.
Предположим

Код: Выделить всё

@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
Похоже, что romiseproxy - это своего рода «будущее» или «Прокси -прокси», которая выполняет задачу (или что -то в этом роде, я не смотрел слишком далеко на это).
Это не было бы проблемой, я мог бы легко выполнять задачу: не почувствую, что не будет. Не существует метода Apply_async на romiseproxy . Итак, мой вопрос: должен ли я сделать, какой тип говорит мне или думать с точки зрения утки и перейти с задачей ?

Подробнее здесь: https://stackoverflow.com/questions/637 ... elery-task
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»