Google AppEngine和Threaded Workers

时间:2012-03-20 14:21:58

标签: python multithreading google-app-engine queue

我目前正在尝试使用Google AppEngine开发一些东西,我使用Python作为我的运行时,并且需要一些关于设置以下内容的建议。

我正在运行一个向客户端提供JSON数据的网络服务器,数据来自一个外部服务,我必须从中提取数据。

我需要做的是运行一个后台系统来检查内存缓存以查看是否有任何所需的ID,如果有ID我需要从外部源获取该ID的某些数据并放置memecache中的数据。

如果有多个ID,> 30我需要能够尽可能快速有效地提取所有30个请求。

我是Python Development和AppEngine的新手,所以你们给出的任何建议都会很棒。

感谢。

2 个答案:

答案 0 :(得分:5)

您可以使用“后端”或“任务队列”在后台运行进程。任务有10分钟的运行时限制,后端没有运行时限制。还有一种可以定期触发请求的cronjob机制。

您可以使用“URLFetch”服务从外部服务器获取数据。

答案 1 :(得分:1)

请注意,使用memcache作为前端和后端之间的通信机制是不可靠的 - 内存缓存的内容可能会在任何时候被部分或完全删除(并且它会不时发生)。

另请注意,您不能查询内存缓存,因为您事先并不知道确切的密钥。最好使用任务队列来排队请求而不是使用内存缓存,或者使用数据存储作为存储机制。