如何在App Engine网站的后台不断运行脚本?

时间:2014-05-26 03:57:17

标签: python google-app-engine cron

我尝试使用Google App Engine(Python)制作一个简单的网络应用。我想在数据存储区中维护一个数字x来模拟随机游走。我需要一个每天24小时运行的脚本,每秒钟随机选择递增或递减x(保存对数据存储区的更改)。用户应该能够访问网址以查看x的当前值。

我已经想过两种方法来完成常量脚本问题:

1)我可以拥有一个在javascript中运行连续循环的管理员访问页面,每秒都会向服务器发出一个AJAX请求来更新x。如果我每天24小时在计算机上打开此页面,这应该可行。这种方法的问题是,如果我的计算机崩溃,那么脚本就会死掉。

2)我可以使用CRON作业。但是工作之间的间隔不能小于1分钟,所以这并没有真正起作用。

似乎应该有一种简单的方法来使用Google App Engine不断运行脚本(仅存在服务器端)。

我感谢任何建议。谢谢你的时间!

1 个答案:

答案 0 :(得分:3)

启动backend instance using Modules(以编程方式或通过点击仅供管理员访问的特殊网址)。只要实例存在,就运行脚本。

请注意,实例可能会死亡,就像您的计算机可能崩溃一样。出于这个原因,使用Google Compute Engine实例(选择最小的)而不是App Engine实例可能会更好。请注意,Compute Engine实例将便宜许多倍。

计算引擎实例也可能失败,但不太可能。有一些方法可以创建故障转移实现(当一个实例创建随机数时,另一个实例 - 可以在其他平台上运行 - 等待第一个实例失败),但这显然会花费更多。

相关问题