栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Flask长程序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flask长程序

有很多选择。您可以开发自己的解决方案,使用Celery或Twisted(我敢肯定还有更多现成的选项,但是这些是最常见的)。

开发内部解决方案并不困难。您可以使用

multiprocessing
Python标准库的模块:

  • 任务到达时,请在数据库中插入包含任务ID和状态的行。
  • 然后启动一个过程来执行工作,该工作将在最后更新行状态。
  • 您可以查看任务是否完成,实际上只是检查相应任务中的状态。

当然,您必须考虑要在哪里存储计算结果以及发生错误时会发生什么。

和芹菜一起去也很容易。它看起来像下面的样子。定义要异步执行的功能:

@celery.taskdef mytask(data):    ... do a lot of work ...

然后

mytask(data)
,与其直接调用任务(如,它可以立即执行任务),不如使用
delay
方法:

result = mytask.delay(mydata)

最后,您可以使用来检查结果是否可用

ready

result.ready()

但是,请记住,要使用Celery,必须运行外部 工作 进程。

我从没看过Twisted,所以我无法告诉您它是否比这复杂(或稍微复杂一点)(也可以做您想做的事)。

无论如何,任何这些解决方案都可以在Flask中正常工作。要检查的结果并不重要 ,在所有的
,如果你使用Javascript。只需使检查状态的视图返回JSON(即可使用Flask的

jsonify
)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634064.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号