Python 任务和长时间运行的任务

Python 任务和长时间运行的任务,python,caching,flask,Python,Caching,Flask,我正在使用Flask编写一个小型web服务器,它需要执行以下操作: 在第一个请求中,提供基本页面并启动一个长的(15-60秒)数据处理任务。数据处理任务查询我不控制的第二台服务器,更新本地数据库,然后对结果执行一些计算以显示在网页中 页面发出了几个AJAX请求,这些请求都依赖于长任务的部分结果,因此我需要等待处理完成 对于第一页的后续请求,如果在处理任务正在进行时(甚至在之后不久)出现,则理想情况下会重新使用前一个请求的结果 我尝试使用flask缓存(特别是SimpleCache),但遇到了一个

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

  • 在第一个请求中,提供基本页面并启动一个长的(15-60秒)数据处理任务。数据处理任务查询我不控制的第二台服务器,更新本地数据库,然后对结果执行一些计算以显示在网页中
  • 页面发出了几个AJAX请求,这些请求都依赖于长任务的部分结果,因此我需要等待处理完成
  • 对于第一页的后续请求,如果在处理任务正在进行时(甚至在之后不久)出现,则理想情况下会重新使用前一个请求的结果
  • 我尝试使用flask缓存(特别是SimpleCache),但遇到了一个问题,因为缓存似乎会对结果进行pickle处理,而我更愿意保留确切的对象

    我想我可以将缓存的内容重新写入pickle,然后实现一个工作线程来进行处理


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

    我认为处理长时间数据的最佳方法是这样的

  • 发送运行任务的请求并接收任务ID
  • 定期发送ajax请求以检查任务进度并接收任务执行结果