Я новичок в сельдерее и начинаю понимать, как это работает. Однако у меня есть некоторые проблемы с пониманием того, как обновить состояние из метода класса.Celery update_state внутри класса метод
views.py
@app.route('/',methods=['POST'])
def foo_bar():
task = foo_async.apply_async()
return json.dumps({}),202
background_task.py
@celery.task(bind=True)
def foo_async(self):
t = Test()
t.run()
return json.dumps({'progress':100})
test.py
class Test(Task):
def __init__(self):
self.foo = 'bar'
def run(self):
for i in range(0,10):
print 'Current : ',i
self.update_state(state='PROGRESS',meta={'current':i})
time.sleep(4)
Но я получаю эта ошибка после создания запроса:
[...] return task_id.replace('-','')
AttributeError: 'NoneType' object has no attribute 'replace'
Так я понимаю, что проблема в отношении идентификатор, но я не знаю, как исправить это.
Возможно, есть лучший способ получить обновление из моего метода?
Спасибо большое! Я знал, что это что-то похожее, но не мог понять это ... – Orelus