Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用芹菜盛满烧瓶_Python_Api_Celery_Flask Restful - Fatal编程技术网

Python 用芹菜盛满烧瓶

Python 用芹菜盛满烧瓶,python,api,celery,flask-restful,Python,Api,Celery,Flask Restful,我有一个简单的flask restful API,我想在其中作为芹菜任务执行请求,因为一些端点需要大量的执行时间 main.py: from flask import Flask from flask_restful import Api from flask_celery import make_celery app = Flask(__name__) app.config['CELERY_BROKER_URL'] = 'redis://localhost:6379/0', app.conf

我有一个简单的flask restful API,我想在其中作为芹菜任务执行请求,因为一些端点需要大量的执行时间

main.py:

from flask import Flask
from flask_restful import Api
from flask_celery import make_celery

app = Flask(__name__)
app.config['CELERY_BROKER_URL'] = 'redis://localhost:6379/0',
app.config['CELERY_RESULT_BACKEND'] = 'redis://localhost:6379/0'

celery = make_celery(app)
api = Api(app)

api.add_resource(someResource, '/someendpoint/')

if __name__ == '__main__':
    app.run(debug=True)

使用make_芹菜.py:

from celery import Celery

def make_celery(app):
    celery = Celery(
        app.import_name,
        backend=app.config['CELERY_RESULT_BACKEND'],
        broker=app.config['CELERY_BROKER_URL']
    )
    celery.conf.update(app.config)

    class ContextTask(celery.Task):
        def __call__(self, *args, **kwargs):
            with app.app_context():
                return self.run(*args, **kwargs)

    celery.Task = ContextTask
    return celery
现在我想定义我在Resource.py中定义的资源是芹菜任务:

class Cost(Resource):

    def get(self):

        result = some_code 

        return result
让get方法成为芹菜任务最方便的方法是什么


非常感谢

我有同样的问题。你有这方面的线索吗?