您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flask长程序

Flask长程序

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

开发内部解决方案并不困难。您可以使用multiprocessingPython标准库的模块:

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

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

@celery.task
def mytask(data):

    ... do a lot of work ...

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

result = mytask.delay(mydata)

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

result.ready()

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

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

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

Python 2022/1/1 18:49:54 有354人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶