我已经创建了一个web抓取python脚本,它在我的本地系统上运行良好,需要30分钟。
但是,当我试图将脚本放到GCP云功能上时,它在60004 ms之后抛出了超时。
2022-03-16T11:41:01.420461007Zget_training_databudock8slftb Function execution took 60004 ms, finished with status: 'timeout'
Function execution took 60004 ms, finished with status: 'timeout'为了完成这个任务,我使用了以下服务。
云调度程序-> Pub/Sub ->云功能
请您建议我应该选择哪一种GCP服务来运行具有成本效益的python脚本,哪种服务每天运行?
发布于 2022-03-17 08:41:34
函数执行时间受超时时间的限制,您可以在函数部署时指定超时时间。默认情况下,一个函数在您正在经历的1分钟或60万of之后超时,但是您可以将这个时间延长到最多9分钟。
您可以通过编辑已部署的函数来扩展它,并将超时设置为540秒。

有关更多信息,您也可以参考此文档。
如果您的刮刀在本地上花费了30分钟,那么您可能需要首先优化它,并在9分钟前逻辑地设置一个定时器,然后使用用于Google调度程序的google客户端库逻辑地继续您结束的位置并开始它,直到它完成刮擦。
发布于 2022-05-23 19:20:43
您现在可以使用第二代云功能。
如果您创建了第2代云函数并使用https触发器,则可以将最大超时设置为3600秒=1小时,而不是10分钟。
有关第二代云功能的信息:
https://cloud.google.com/functions/docs/2nd-gen/overview
关于如何与进行组合,请参见这里:
https://stackoverflow.com/questions/71507095
复制相似问题