代码之家  ›  专栏  ›  技术社区  ›  ViaTech

2019:动态cron作业谷歌应用引擎

  •  1
  • ViaTech  · 技术社区  · 6 年前

    我正在为谷歌应用引擎上的一个项目开发一个报告服务(即通过电子邮件进行的数据库报告),当然使用的是谷歌云平台。

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

    我知道 这完全可以通过运行cron来实现。 盖伊 每分钟一次(使用 cron.yaml 因为我使用的是python),并且提供了逻辑来确定要在任何视图中运行哪些报告,我决定让cron受到攻击,但这对我来说似乎非常低效,并且将我发现的最佳答案视为建议执行相同的操作。( Adding dynamic cron jobs to GAE )我想要一个“更新”的建议。

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

    2 回复  |  直到 6 年前
        1
  •  2
  •   LundinCast    6 年前

    你可能想看看新的 Google Cloud Scheduler 服务(目前是beta版),这是一个完全管理的cron作业服务。它允许您通过其RESTAPI以编程方式创建cron作业。因此,您可以为每个客户创建一个特定的cron作业,并提供适合您需要的适当计划。

        2
  •  2
  •   Alex    6 年前

    考虑到这个限制,我想不会

    免费应用程序最多可以有20个计划任务。付费应用程序最多可以有250个计划任务。

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

    另一个版本的分秒必争的解决方案是每日cron任务,它可以找到当天想要启动的所有人,然后使用 _eta 为每一项要执行的任务精确定位每天时刻的论点。