将数据从celerybeat更新为Flask-route

时间:2019-06-03 12:16:07

标签: python flask redis celery celerybeat

我有一个flask应用程序,该应用程序在后台运行繁重的查询,导致对Web应用程序的请求的加载时间较慢(5-15秒)。

为解决此问题,我添加了Celery作为代理,并添加了Redis作为后端。我的目标是每5分钟预先执行一次每个查询,这样用户每次加载页面时都不必等待5-15秒。

我已经成功创建了celerybeat计划,我在日志中看到它每分钟执行一次查询(出于测试目的,而不是5分钟)。

celery.conf.update(
        CELERYBEAT_SCHEDULE = {
            'update-every-minute': {
                'task': 'task.celery',
                'schedule': timedelta(seconds=60),
                'args': ()
            },
        },
    )

问题是,如何更新数据到烧瓶路径?

如果我将“任务”放在路线内,则这样:

from app.tasks import tasks

@app.route('/')
def home():
    result = task.apply_async()
    return jsonify(result.get())

它仍然会在每次获取请求时重新加载页面...

这是使这项工作简单的方法吗? :)

0 个答案:

没有答案