Python与CGI - 处理ajax

时间:2011-08-08 14:25:40

标签: python ajax cgi

我想:

  1. 从浏览器发送请求到python CGI脚本
  2. 此请求将启动一些非常长的操作
  3. 浏览器应每隔3秒检查一次该操作的进度
  4. 我该怎么做?

2 个答案:

答案 0 :(得分:1)

你可以这样做 -

  1. 使用Javascript每3秒检查一次进度。
  2. 您随时点击的Python脚本应该在该实例中提供进度。它本质上应该充当状态机。您需要一台服务器,或者可能会将进度存储在某个文件中。
  3. 但拥有服务器是可行的方法...... 也许长时间运行的进程将进度存储在MySQL表中。

    希望这会有所帮助......

答案 1 :(得分:1)

在服务器端,您应该查看一些后台队列/作业运行器,否则一旦长时间操作开始(取决于您的服务器),您的请求将被阻止。我听说Celery非常好。在客户端,每隔x秒进行一次轮询以检查作业状态。如果您喜欢冒险,可以尝试使用websockets,尽管在所有浏览器中都不支持本地(您可以使用第三方扩展来尝试实现跨浏览器支持)。