google-app-engine - Google App Engine Cron 时间表和时长

标签 google-app-engine cron cron-task

cron 计划的最小值和最大值是多少? cron 可以运行多长时间? 24小时? 下面的代码与时间表一起工作是 1 分钟。

   cron:
    - description: test
      url: /test
      schedule: every 1 minutes

但我想让它变成 30 秒

所以我写了

 cron:
    - description: test
      url: /test
      schedule: every 30 seconds

但是当我更新应用程序时它只是返回错误。

最佳答案

Cron 不支持小于一分钟的粒度。至于 GAE 中的 cron 会运行多长时间,the docs said :

An HTTP request invoked by cron can run for up to 10 minutes, but is subject to the same limits as other HTTP requests.

这向我表明,cron 请求与任务队列请求的处理方式相同。对前端实例的请求有 10 分钟完成执行,而对后端的请求 have a 24-hour deadline.

编辑: 如果您真的在您的 cron 上需要 30 秒的粒度,则可以通过利用 countdown property 来解决一些问题。任务队列中的任务。步骤如下:

  1. 有一个一分钟的 cron,执行与您预期的/test servlet 不同的 servlet。
  2. 让这个 servlet 创建两个指向预期的/test servlet 的任务。每个任务的 countdown 属性都有 30 和 60 个值。
  3. 将两个任务推送到 TaskQueue。

或者,您可以在 servlet 启动后的 30 秒和 60 秒处预先计算预期的 ETA,并将其放入 eta property 中。而是为了更好的粒度。

最后要注意的是,etacountdown 不能保证任务会在规定的时间准确执行。如果您的队列已饱和,或者您的实例重载,则可能会出现一些延迟。

关于google-app-engine - Google App Engine Cron 时间表和时长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497074/

相关文章:

shell - Cron 作业未运行

java - 没有注册类 'com.appspot.<projectname>.model.News'

android - 谷歌云和 xmpp 服务器

java - 除了制作 cron.xml 之外我还需要做什么?

linux - 跨服务器符号链接(symbolic link)和 Crontab

controller - 蛋糕PHP 2.3.8 : Calling Another Controller function in CronController. php

node.js - Cloud SQL 实例连接在本地工作,但在 App Engine 上不工作

node.js - 如何以及从哪里开始使用 Google App Engine 编写应用程序?

python - 用完 cron.hourly 不会导入 Python 模块

curl - 将 wget cron 命令转换为 curl