Fin*_*ish 2 python google-cloud-scheduler google-cloud-run
我正在考虑使用 Cloud Scheduler 在 Cloud Run 上触发 python 应用程序的日常执行。该应用从第三方 API 提取数据并将其插入 BigQuery。唯一的问题是,根据我读过的许多文章,Cloud Run 有 15 分钟的执行时间限制,这可能太短了。
不过,查看 Cloud Run 文档:https://cloud.google.com/run/quotas#cloud_run_limits似乎表明最大执行时间为 60 分钟。
哪个是对的?Cloud Run 实际上可以运行长达 60 分钟的进程吗?如果该过程需要超过 30 分钟,我在使用 Cloud Schedular 触发云运行时是否可能会遇到任何问题?
这是一个常见问题:您可以使用 Cloud Run,它可以运行长达 60 分钟的超时作业,但可以触发它的无服务器产品限制更严格(Cloud Scheduler 为 30 分钟,PubSub 为 10 分钟)。
如果您不想使用 Cloud Scheduler 执行重试,只需调用 Cloud Run 服务即可。Cloud Scheduler 会认为调度失败(超时),但 Cloud Run 上的进程将继续(Cloud Scheduler 客户端停止侦听答案时发生的事件)。
如果您想要处理错误和重试,或者想要在 Cloud Scheduler UI 中具有“成功”状态,解决方案是使用Cloud Workflow。工作流程非常简单:使用参数调用 API(如果适用)。那么流程如下:
最后,你得到了它,虽然没有优化,但它可以工作。