Google App Engine数据库代码 - 独立于网站运行

时间:2012-09-01 21:56:43

标签: database google-app-engine

如果没有人向服务器发送GET请求,你如何在一定间隔内任意执行Python代码?

收集和维护用户数据的正确方法是什么?

我编写了一个网站,可以让你创建音乐博客。我现在没有从用户那里收集太多数据。例如,每个博客都没有最后更新的字段。但是,我现在想开始生成一些这样的东西,因为网站已经存在。

我需要做的就是每个博客,查看所有歌曲,按date added排序,然后这将是最后一次修改。但我确信这是一个稍微昂贵的操作,所以也许我只想每天做一次。

我应该如何处理?

构建一个涵盖所有内容的处理程序,然后编写一个连接到www.mywebsite.com/admin/updateDbInfo的Python机器人?看起来并不优雅。

谷歌应用引擎中是否缺少一些允许您间隔任意执行代码的内容?

这是人们收集数据的方式吗? Ť

在我设计网站时,聪明的方法就是将所有这些构建到模型中。我明白了,但这是一次学习经历而我没有。

2 个答案:

答案 0 :(得分:1)

AppEngine允许您设置计划任务,以您选择的频率运行:Python的文档和Java的文档。

答案 1 :(得分:0)

你走在正确的轨道上!阅读cron jobsbackends。首先编写一个处理程序,检索并分析您想要查看的任何数据,然后将其映射到URL,就像其他任何数据一样。然后,您可以将其安排为cron job,并将其添加到根目录中的cron.yaml文件中。请确保secure the URL,以便未经授权的用户无法调用处理程序。

如果你的工作需要长时间运行,你应该使用backend,它可以在没有请求截止日期的后台运行。您可以设置一个cron作业来启动和停止后端进程。

以下是我own projects之一的cron.yaml,以及它调用的two scripts作为示例。