Kal*_*tan 8 python database celery
我有一个Web应用程序,我试图使用芹菜从数据库加载后台任务.我目前正在根据请求加载数据库,但是希望每小时加载一次任务并让它们在后台运行.我正在使用flask并在python中进行编码.我也运行了redis.
到目前为止,使用芹菜我已经让工人处理任务和节拍,以便在一定时间间隔内将任务发送给工人.但我想从工作者检索结果[数据帧或查询],如果结果没有准备好,那么它应该加载工作者的先前结果.
关于如何做到这一点的任何想法?
编辑
我正在使用sqlalchemy从数据库中检索结果,我将结果呈现在网页中.我有我的主页,其中包含所有各种链接,这些链接都会导致我想要在后台加载不同的图形,因此用户无需等待很长的加载时间.
Celery Task正在由Worker执行,它的结果存储在Celery后端.
如果我找到你的话,我认为你没有多少选择:
如果您提供任务的ID,则可以查找任务的结果.您可以在想要查找状态时执行此操作,例如(celeryCelery应用程序在哪里):result = celery.AsyncResult(<the task id>)
新结果准备就绪时,使用回调更新.
我个人在类似情况下使用选项#1(使用MongoDB),发现它非常易于维护和灵活.但是,由于您的UI的性质,选项#3将更适合您的需求.
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |