【问题标题】:Any workarounds for Google App Engine's 1 minute cron limitation?Google App Engine 的 1 分钟 cron 限制有什么解决方法吗?
【发布时间】:2010-11-01 15:52:29
【问题描述】:

在其当前格式中,Google App Engine 的 Cron 允许 "The shortest time between runs of a task that can be specified is 1 minute." 我有一个应用程序,我希望它每 10 秒运行一次任务。有什么解决方法吗?

【问题讨论】:

    标签: google-app-engine cron


    【解决方案1】:

    根据您的应用程序获得多少命中(以及它们的一致性),您可以使用“poor mans cron”方法..

    在每次页面加载时,检查上次执行时间是否 >= 10 秒前 - 如果是,则触发一个函数(通过内联调用函数,或者可能触发真正的 cron URL?)

    除此之外 - 目前 - 没有。直到后台任务被执行,或者 cron 限制被改变。


    编辑:Task Queue(后台处理)功能已经实现!

    【讨论】:

    • 对上述方法的一个警告:在您的代码执行完成之前,用户不会获得生成的页面,因此在后台执行 cron 作业可能会导致用户明显变慢。
    • 这可能很愚蠢,但我可以创建另一个 GAE 应用程序,它只等待 10 秒,然后触发原始功能上的任务。我在这里忘记了什么吗?
    • 您如何称呼第二个应用程序?我不明白。等待即将到来的任务队列 API 确实是一种更好的方法。 :)
    【解决方案2】:

    如果您有耐心,Task Queue API 很快就会推出,它可以提供任意延迟的执行任务。

    【讨论】:

      【解决方案3】:

      也许在处理 9 秒后,您可以从 cron 本身调用另一个 cron URL?

      但不确定这与他们的使用条款有何冲突。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-11
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 1970-01-01
        • 2012-10-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多