как исправить ошибку "celery.exceptions.NotRegistered: 'cefla.add'"? - PullRequest
1 голос
/ 03 октября 2019

Я запускаю 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)
...