Flask和长期运行任务

2024-04-19 21:25:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Flask编写一个小型web服务器,它需要执行以下操作:

  1. 在第一个请求中,服务于基本页面并开始一个长时间(15-60秒)的数据处理任务。数据处理任务查询我不控制的第二台服务器,更新本地数据库,然后对结果执行一些计算以显示在网页上。在
  2. 页面发出几个AJAX请求,这些请求都依赖于长任务的部分结果,因此我需要等待处理完成。在
  3. 如果后续请求在处理任务正在进行时(甚至在之后不久)传入,则对第一页的后续请求最好会重用上一个请求的结果

我尝试过使用flask缓存(特别是SimpleCache),但遇到了一个问题,因为缓存似乎会破坏结果,而我实际上更希望保留准确的对象。在

我想我可以重新编写我正在缓存的内容以使其能够pickle,然后实现一个工作线程来进行处理。在

有没有更好的方法来处理这种工作流?在


Tags: 对象方法服务器web数据库网页flask内容