Google Apps 中的 Cron 作业是不是有时间限制?
Posted
技术标签:
【中文标题】Google Apps 中的 Cron 作业是不是有时间限制?【英文标题】:Is there a time limit to Cron jobs in Google Apps?Google Apps 中的 Cron 作业是否有时间限制? 【发布时间】:2011-03-31 07:54:49 【问题描述】:我创建了一个 cron 作业来扫描 rss/atom 提要,但想知道这是否有超时。
文档说请求限制为 30 秒; cron 作业是受此限制的常规请求吗?
为了安全起见,我应该将作业分解为每个 cron 作业一次扫描,还是有更好的方法?
我正在考虑让 cron 作业将任务生成到任务队列中来进行资源获取(这样每个任务都可以获取一个资源,并且希望没有一个任务会超过 30 秒的限制)。
任何建议将不胜感激。
【问题讨论】:
【参考方案1】:Cron 作业的截止日期为 10 分钟,而不是 30 秒。
见App Engine version 1.4 release page:
后台工作不再有 30 秒的限制 - 在此版本中,我们已经 显着提高了对来自任务队列的离线请求的限制 和 Cron:您现在可以不间断地运行长达 10 分钟。
@Alex Martelli 的答案在他写这篇文章时是正确的,但现在已经过时了。
【讨论】:
这个问题现在也已经过时了。 只有我一个人绝对讨厌这个吗?【参考方案2】:是的,30 秒的最后期限也适用于 cron 作业(就像常规请求和任务队列作业一样)。 “分解”的最佳方式通常是在 task queue 上排队“继续”请求。
【讨论】:
“继续”请求有什么特别之处吗?它只是一项常规任务吗? @download,一项常规任务,您需要使用任何参数从前一个中断的地方继续。对于一个很好的(高级)示例,以及 RSS 提要上下文;-),请查看 code.google.com/p/pubsubhubbub。 这个答案现在已经过时了。 Cron 作业的截止日期为 10 分钟,而不是 30 秒。【参考方案3】:Cron jobs on manually scaled instances can run for up to 24 hours(它们受到与任务队列相同的限制)。自动缩放的实例仍必须在 10 分钟内完成。
【讨论】:
以上是关于Google Apps 中的 Cron 作业是不是有时间限制?的主要内容,如果未能解决你的问题,请参考以下文章
在 Google Cloud DataProc 上安排 cron 作业
在 Google App Engine 中使用 Cron 作业
如何取消或停止Google App Engine Cron作业