【问题标题】:Python web application with separately processing单独处理的 Python Web 应用程序
【发布时间】:2016-04-09 17:54:59
【问题描述】:

我正在用 python (googleappengine) 编写一个网络应用程序来解决这个问题:

用户通过网络表单上传原始数据和一些信息。 该应用程序读取信息和原始数据,并对数据进行大量处理。

某些处理需要网络请求来检查某些信息。 由于其中一些 Web 请求需要几秒钟才能完成,因此应用会遇到超时。

我想知道是否有某种方法可以单独处理数据。 我可以向用户显示一条消息,说数据“在烤箱中”,当处理结束时,它会显示数据。

如何单独运行它?我怎么知道它什么时候完成?

谢谢

【问题讨论】:

    标签: python python-2.7 google-app-engine webapp2


    【解决方案1】:

    最简单的方法是将处理卸载到deferred task

    在您的请求处理程序中,创建一个与任务关联的键值。将要处理的键值和数据传递给延迟任务。将键值返回给客户端(我假设请求是通过 javascript 提交的)。

    让任务将处理结果写入数据存储区或将其存储在 memcache 中(但请注意,memcache 可能会在没有警告的情况下删除结果)。使用来自处理程序的键值作为数据存储或内存缓存键。

    在浏览器端,让您的 javascript 定期向另一个请求处理程序发送包含密钥的请求,该处理程序将在存储中找到数据时返回数据,否则返回“尚未准备好”消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      相关资源
      最近更新 更多