我正在构建一个应用程序,我需要为其设置 cron 作业。我想要做的是设置一小时内应运行特定 cron 的特定分钟。例如:
- 每小时第 1 分钟的任务 1
- 每小时每隔一分钟执行任务 2
- 仅在后半小时每 2 分钟执行一次任务 3
以标准 Unix cron 格式构建它相当简单,但无法弄清楚如何在 Google-App-Engine 中执行此操作。
documentation没有列出任何重要的例子。关于如何做有什么建议吗?例子会很好。
最佳答案
您链接到的文档似乎表明仅使用 Cron for Java 不可能完成您想要的操作(除非它们有未记录的功能)。特别是这似乎不允许多次。
time specifies the time of day, as HH:MM in 24 hour time.
Python 版本说的是完全相同的事情。
但是,一种解决方案(尽管在 CPU 使用率方面有点昂贵)是每分钟调用一个 URL,然后从该 URL 的处理程序中分派(dispatch)到您需要的任何其他调用。
换句话说,类似于:
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/run-scheduled-tasks</url>
<description>Run all scheduled tasks</description>
<schedule>every 1 minutes</schedule>
</cron>
</cronentries>
然后在运行计划任务中,检查数据库以了解每个任务上次运行的时间,以及自那时起是否发生了触发它们的复杂条件。
关于java - 如何在 google-app-engine (java) 中设置复杂的自定义 crontab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1387403/