如何在谷歌应用引擎中将后台任务带到前台?

时间:2010-12-07 16:46:52

标签: python google-app-engine task-queue

目前我在后台运行任务。任务完成后,我需要显示输出。如何在Google App Engine中执行此操作?

完成任务后,我唯一能做的就是创建另一个应该显示输出的任务,还是有其他方法?

2 个答案:

答案 0 :(得分:5)

你不能“把任务带到前台” - 它是一个网络服务器。服务器响应来自客户端的请求。

但是,你有几个选择来完成类似的事情:

  1. 使用Channel API向客户发送工作已完成的通知,或者甚至是处理结果。
  2. 将状态信息写入memcachedatastore并从客户端轮询以确定工作何时完成。

答案 1 :(得分:0)

这不会像你描述的那样直接起作用。

一旦后台任务启动,它就是一个完整存在的后台任务。如果要将后台任务中的某些信息返回给用户,则必须将其添加到数据存储区,并让前台处理程序检查数据存储区中的信息。

您也可以使用Channel API让后台任务直接向浏览器发送消息,但我不确定这是否有效(我还没试过)。

如果你提供一些关于你想要完成什么的更多信息,我可以尝试提供有关如何完成它的更多细节。