2015-08-08 18 views
0

我想运行每2分钟间隔cron,0,2,4,6,8 ....每个cron执行运行2分钟。谷歌应用程序引擎cron调度程序不使用同步

我配置了cron时间表,同步如下。但我仍然看到调度程序的行为就像没有给出同步一样。

Crons在

0-2第一的cron

4-6二的cron

8-10第三的cron计划

的Cron调度正在等待最后的cron执行2分钟后。

如果我理解正确同步,它被添加到避免这种行为。

为什么会发生这种情况。

<cron> 
    <url>/cron/syncPrices</url> 
    <description>Fetch data from source and cache it in data store.</description> 
    <schedule>every 2 minutes synchronized</schedule> 
    </cron> 

回答

0

您可以为您在左边的Cron作业菜单你对old GAE console应用实际的cron配置。你希望确认是否​​(或其等价from 00:00 to 23:59)存在于各自的工作:

  • 如果​​缺少它有可能是cron.yaml文件没有上传/常规应用期间更新上传 - 我注意到这是我的多模块(Python)应用程序的情况。您必须使用AppCfg实用程序的update_cron选项专门更新cron配置。

  • 如果​​确实存在,并且意外的行为仍然存在,您应该打开Goog​​le的支持案例。

+0

我对文字'synchronized'的理解与OP相同。例如我想每5分钟运行一次cron。但是我的cron需要10分钟才能完成。如果没有“同步”,预期的行为是第一个cron从10:00开始,在10:10完成任务并且下一个cron从10:15开始(每5分钟)。但使用'synchronized'意味着,第一项任务将在10:00开始,直到10点10分。不管第一个cron如何,第二个cron将在10:05开始。但根据OP,即使他使用'synchronized',第二个cron在10:15开始,这不是期望的行为 – Sriram

+0

我在处理请求之前和之后添加了日志语句。时机证实了我的理解。 21:08:03开始,21:10:0结束21:12:04开始21:14:02结束。第一个cron执行结束和第二个cron执行开始之间有两分钟的差距。 – Htaras

+0

Appologies,我的第一个答案完全关闭,我只是完全更新它。 –