2019年:动态cron职位Google App Engine

时间:2019-01-28 23:28:59

标签: python django google-app-engine cron google-cloud-platform

我正在自然使用Google Cloud Platform为Google App Engine上的项目开发报告服务(即通过电子邮件发送数据库报告)。

我正在使用Python和Django,但我觉得这对我的问题可能并不重要。我希望能够允许我的应用程序的用户计划特定的cron报告在一天的指定时间发送。

我知道,这完全可以通过在 GAE 上每分钟运行一次cron来实现(使用cron.yaml,因为我使用的是Python ),并提供确定要以哪种方式运行报告的逻辑,无论我决定执行cron命中什么视图,但这对我来说似乎都是非常低效的,我认为最好的答案是建议做同样的事情(Adding dynamic cron jobs to GAE ),我想要一个“更新的”建议。

与每分钟运行一次cron并检查一个充满客户条目的数据库以确定要触发的报告相比,现在有没有更好的选择?

2 个答案:

答案 0 :(得分:2)

鉴于此限制,我的猜测不会是

  

免费应用程序最多可以包含20个计划任务。付费应用程序最多可以安排250个预定任务。

https://cloud.google.com/appengine/docs/standard/python/config/cronref#limits

每分钟的变通方法的另一个版本是日常cron任务,该任务将查找当天要启动的每个人,然后使用_eta参数为每个人确定每天的确切时间任务启动。

答案 1 :(得分:2)

您可能想看看新的Google Cloud Scheduler服务(目前处于测试版),它是完全托管的cron作业服务。它允许您通过其REST API以编程方式创建cron作业。因此,您可以为每个客户创建一个特定的cron作业,并根据需要安排适当的时间表。