长时间超时的无服务器python请求?

我有几个遵循类似格式的python脚本:您传入一个日期,并且它是:-检查我的S3存储桶中文件名中具有该日期的文件,然后进行解析或-运行python脚本对该日期的文件进行一些分析(运行需要1个小时以上)

我正在寻找一种无服务器的解决方案,该解决方案可以让我在一定范围内调用这些函数,然后并行运行它们。由于我的python脚本持续时间长,因此AWS和Google Cloud Functions之类的服务由于超时(分别为15分钟和9分钟)而无法正常工作。我已经看过Google Cloud Dataflow,但是不确定相对于我的相对简单的用例而言,这是否过头。

尽可能减少故障的事情很重要,因此我倾向于使用AWS,Google Cloud等。

我还希望能够通过日志查看每个作业进度的仪表板,因此我可以看到哪些日期已完成,哪些日期存在错误(以及错误是什么)

jp1004 回答:长时间超时的无服务器python请求?

正如您所说,使用Google Cloud Functions,您可以在部署过程中最多配置9分钟的超时时间。

与Dataflow不同的解决方案允许更长的超时时间:

App Engine Flex

App Engine Flex环境link是允许超时(最多60分钟)的其他GCP产品。

云任务

云任务也类似,但是是异步的。超时最多30分钟。这是一个任务队列,您将任务放入队列并快速返回。然后,队列中的一个或多个工作人员将一一评估任务。 Cloud Tasks的通常输出是发送电子邮件或将结果保存到存储link

使用此解决方案,您可以为每个要处理的文件/文件名添加一个任务,并且每个任务的超时时间均为30分钟。

,

Cloud Run路线图中已计划了长时间运行,但目前尚无日期。

今天,最好的推荐方法是use AppEngine in addition of Task Queue。使用推送队列,在manual scaling mode中进行部署时,您最多可以运行24小时。但是请注意,手动缩放比例不会缩放为0!

如果您喜欢容器,我知道GCP上有2种“奇怪”的解决方法:

可悲的是,它不像“功能”或“云运行”那样容易使用。您没有HTTP端点,只需用您想要和享受的日期来调用它即可。但是您可以将其包装到一个函数中,该函数执行对Cloud Build或AI Platform培训的API调用。

本文链接:https://www.f2er.com/3097945.html

大家都在问