我想从App Engine Cron作业迁移到Cloud Scheduler,但是在Cloud Scheduler中,请求截止期限超时是60秒,而不是Cron作业发出的请求的10分钟。
是否可以将Cloud Scheduler App Engine请求配置为具有10分钟的最后期限超时?
答案 0 :(得分:3)
这会将作业的截止日期设置为 30 分钟。这是 HTTP 目标的最大值。
gcloud beta scheduler jobs update http <job> --attempt-deadline=1800s --project <project>
<块引用>
此期限允许的持续时间为:对于 HTTP 目标,介于 15 秒和 30 分钟之间。对于 App Engine HTTP 目标,介于 15 秒到 24 小时之间。 以秒为单位的持续时间,最多九位小数,以“s”结尾。示例:“3.5s”。
来源:https://cloud.google.com/scheduler/docs/reference/rest/v1/projects.locations.jobs#Job
答案 1 :(得分:1)
根据他们的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
答案 2 :(得分:0)
当我们查看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