GAE中的后台进程

3 投票
3 回答
1354 浏览
提问于 2025-04-15 11:30

我正在使用Google App Engine和Django 1.0(app-engine-patch)开发一个网站。

我的程序有很大一部分需要在后台运行,主要是修改本地数据,还要向一个远程网址发送信息。

有没有人能推荐一个有效的方法来实现这个功能?

3 个回答

2

我也支持dbr的建议,可以看看这个链接:http://code.google.com/appengine/docs/python/config/cron.html(希望未来能有更好的方法,比如承诺中的“任务队列”)。

不过,我觉得如果你真的需要进行大量(也就是占用CPU很多)的后台处理,GAE可能不是最合适的环境。你可以考虑在其他环境中运行这些重负载的后台任务,然后通过一些方式和GAE进行沟通,比如使用“批量加载/下载”的API,具体可以参考这个链接:http://code.google.com/appengine/docs/python/tools/uploadingdata.html(还有这个http://code.google.com/appengine/docs/python/tools/uploadingdata.html#Downloading_Data_from_App_Engine是关于下载的部分)。

谷歌的文档只描述了如何使用命令行工具appcfg.py来实现这些功能(我找不到它使用的API的详细文档!),不过如果你需要更程序化地使用这些API,从appcfg.py的源代码中找出这些内容也不难。

5

可以看看这个链接:任务队列的Python API

2

如果不使用第三方系统,我觉得你现在唯一的选择就是使用cron功能

不过,你还是会受到GAE(谷歌应用引擎)脚本执行时间的限制,但这个过程不会在页面加载时发生。

关于后台处理的计划,可以看看这个App Engine的问题#6,还有这个路线图更新

撰写回答