Я запускаю curl -i http://my_ip_address:5000/lzh_tw/api/v1.0/test на моем клиентском компьютере, это вызовет "celery.exceptions.NotRegistered: 'cefla.add'".
Однако, если я запустлю его снова, он вернет «9» в обычном режиме. Если я запустите его снова, это вызовет то же исключение. Одно исключение, за которым следует одно правильное возвращение. Я не знаю причину этого.
from flask import Flask
from celery import Celery
app = Flask(__name__)
app.config['CELERY_BROKER_URL'] = 'pyamqp://guest@localhost//'
app.config['CELERY_RESULT_BACKEND'] = 'rpc://guest@localhost//'
celery = Celery(app.name, broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
@celery.task
def add(x, y):
return x + y
@app.route('/lzh_tw/api/v1.0/test', methods=['GET'])
def test_func():
res = add.delay(4,5)
while not res.ready():
pass
data = res.get()
return str(data)
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=True)