如何增加 Cloud Scheduler 请求超时期限?

Ron*_*ler 5 google-app-engine google-cloud-scheduler

我想从 App Engine Cron 作业迁移到 Cloud Scheduler,但在 Cloud Scheduler 中,请求截止时间超时为 60 秒,而不是来自 Cron 作业的请求的 10 分钟。

有没有办法将 Cloud Scheduler App Engine 请求配置为具有 10 分钟的截止时间超时?

mat*_*tes 11

这会将作业的截止时间设置为 30 分钟。这是 HTTP 目标的最大值。

gcloud beta scheduler jobs update http <job> --attempt-deadline=1800s --project <project>
Run Code Online (Sandbox Code Playgroud)

此截止时间允许的持续时间为:对于 HTTP 目标,介于 15 秒到 30 分钟之间。对于 App Engine HTTP 目标,介于 15 秒到 24 小时之间。以秒为单位的持续时间,最多包含九个小数位,以“s”结尾。示例:“3.5 秒”。

来源:https ://cloud.google.com/scheduler/docs/reference/rest/v1/projects.locations.jobs#Job

  • 您好,如果我的作业运行超过 30 分钟,是否有任何解决方法可以避免云调度程序上显示的“错误”?(作业完成,没有错误) (3认同)

小智 5

根据他们的 Scheduler.v1beta1,可以使用attemptDeadline.

工作尝试的截止日期。如果请求处理程序在此截止日期前未响应,则该请求将被取消,并且该尝试将被标记为 DEADLINE_EXCEEDED 失败。可以在执行日志中查看失败的尝试。Cloud Scheduler 将根据 RetryConfig 重试作业。

该截止日期允许的持续时间为:

对于 HTTP 目标,介于 15 秒到 30 分钟之间。对于 App Engine HTTP 目标,介于 15 秒到 24 小时之间。对于 PubSub 目标,该字段将被忽略。

https://cloud.google.com/nodejs/docs/reference/scheduler/0.3.x/google.cloud.scheduler.v1beta1#.Job


Kol*_*ban 3

当我们查看 Cloud Scheduler 时,我们发现当达到触发作业的时间时,触发该作业的请求可能会失败。此时,将根据该作业的配置重试请求...请参阅:

https://cloud.google.com/sdk/gcloud/reference/beta/scheduler/jobs/create/http

在这些设置中我们发现:

  • --max-backoff
  • --max-doublings
  • --max-retry-attempts
  • --max-retry-duration
  • --min-backoff

看来,如果我们想继续尝试整整 10 分钟,我们也许可以指定:

  • --max-backoff: 0s
  • --max-doublings: 0
  • --max-retry-attempts: 0
  • --max-retry-duration: 10m
  • --min-backoff: 0s

  • 这对我来说不起作用,仍然有随机超时。添加 --attempt-deadline=10m 后,它起作用了! (2认同)