google-cloud-platform - 长时间超时的无服务器 python 请求?
问题描述
我有几个遵循类似格式的 python 脚本:你传入一个日期,它要么: - 检查我的 S3 存储桶以查找文件名中具有该日期的文件,然后对其进行解析,或者 - 运行一个 python 脚本对该日期的文件(运行时间超过 1 小时)
我正在寻找一种无服务器解决方案,它可以让我在一系列日期调用这些函数,并并行运行它们。由于我的 python 脚本的持续时间很长,AWS 和 Google Cloud Functions 等服务由于超时(分别为 15 分钟和 9 分钟)而无法工作。我查看了 Google Cloud Dataflow,但不确定这对于我相对简单的用例是否过大。
中断可能最少的东西很重要,所以我倾向于来自 AWS、谷歌云等的东西。
我还希望能够通过日志查看每个作业的进度仪表板,这样我就可以看到哪些日期已完成以及哪些日期有错误(以及错误是什么)
解决方案
正如您所说,使用 Google Cloud Functions,您可以在部署期间配置最长 9 分钟的超时。
与允许更高超时的 Dataflow 不同的解决方案:
应用引擎 Flex
允许更高超时(最长 60 分钟)的其他 GCP 产品是 App Engine Flex 环境链接。
云任务
云任务也类似,但是是异步的。超时时间长达 30 分钟。它是一个任务队列,您将任务放入队列并快速返回。然后,队列的工作人员(或多个工作人员)将一一评估任务。Cloud Tasks 的通常输出是发送电子邮件或将结果保存到存储链接中。
使用此解决方案,您可以为要处理的每个文件/文件名添加一个任务,每个任务的超时时间为 30 分钟。
推荐阅读
- android - 第二个菜单选项导致 Android Kotlin 崩溃
- linux - 我正在尝试运行 powershell 脚本来提取机器上可用的 CLSID,但我收到此错误
- spring-batch - 如何在不重新启动 Spring Batch 应用程序的情况下从数据库更新 cron 调度程序?
- backup - btrfs 在旋转的增量文件夹上发送/接收
- java - antlr.MismatchedTokenException:期待“设置”,发现“内部”
- python-3.x - 使用 Python 将具有层次结构的列表转换为具有相似层次结构的嵌套字典
- decode - 如何在 apache calcite 中使用“解码”功能
- azure-devops - 使用rest api c#在azure devops的提交中获取文件名
- database - 如何将 Infinity 值插入 DuckDB 中的 REAL/FLOAT4 列?
- javascript - 无效的配置对象(Webpack)。Configuration.module.rules[2].loader 应该是一个非空字符串