Python 使用谷歌云执行长时间运行的任务
我使用谷歌云已经有几个星期了,由于我有限的GCP知识,我面临着一个大问题 我有一个python项目,其目标是使用API从网站“刮取”数据。我的项目在执行期间运行数万个请求,可能需要很长时间(几个小时,可能更多) 我的项目中有4个python脚本,都是由bash脚本编排的 执行如下:Python 使用谷歌云执行长时间运行的任务,python,google-app-engine,google-cloud-platform,google-compute-engine,google-cloud-run,Python,Google App Engine,Google Cloud Platform,Google Compute Engine,Google Cloud Run,我使用谷歌云已经有几个星期了,由于我有限的GCP知识,我面临着一个大问题 我有一个python项目,其目标是使用API从网站“刮取”数据。我的项目在执行期间运行数万个请求,可能需要很长时间(几个小时,可能更多) 我的项目中有4个python脚本,都是由bash脚本编排的 执行如下: 第一个脚本检查CSV文件和请求的所有说明,并执行请求,将请求的所有结果保存在CSV文件中 第二个脚本检查先前创建的CSV文件,并重新创建其他CSV指令文件 第一个脚本再次运行,但使用新指令,并再次将结果保存在CSV
- 第一个脚本检查CSV文件和请求的所有说明,并执行请求,将请求的所有结果保存在CSV文件中
- 第二个脚本检查先前创建的CSV文件,并重新创建其他CSV指令文件
- 第一个脚本再次运行,但使用新指令,并再次将结果保存在CSV文件中
- 第二个脚本再次检查并再次执行相同操作
- 。。。等几次
- 第三个脚本清理数据、删除重复项并创建唯一的CSV文件
- 第四个脚本将最终CSV文件上载到bucket存储
谢谢你一个简单的方法可以实现这一点,而不需要摆脱现有的bash脚本,它可以协调所有事情:
shutdown
命令这样,您的实例将按计划启动,它将运行启动脚本(这将是您现有的编排脚本),并在完成后关闭。一个简单的方法可以实现这一点,而无需删除编排所有内容的现有bash脚本:
shutdown
命令这样,您的实例将按计划启动,它将运行启动脚本(即您现有的编排脚本),并在完成后关闭。谢谢,这看起来是一个非常好的方法!启动脚本是在每次启动实例时运行还是在创建实例时运行?我需要一个具有至少32GB RAM的功能强大的实例,如果实例关闭,我会被收费吗?是的,每次启动实例时启动脚本都会运行。CPU和内存的费用将停止。永久性磁盘、静态IP和其他永久性资源仍将产生费用。您可以查看定价页面了解更多详细信息:确保使用错误检查编写正确的bash脚本,并在bash中编写一个
trap
,以便在脚本失败时关闭VM。谢谢,这看起来是一个非常好的方法!启动脚本是在每次启动实例时运行还是在创建实例时运行?我需要一个具有至少32GB RAM的功能强大的实例,如果实例关闭,我会被收费吗?是的,每次启动实例时启动脚本都会运行。CPU和内存的费用将停止。永久性磁盘、静态IP和其他永久性资源仍将产生费用。您可以查看定价页面以了解更多详细信息:确保使用错误检查编写正确的bash脚本,并在bash中编写一个trap
,以便在脚本失败时关闭VM。您可以并行运行所有指令吗?遗憾的是,不可以,它们必须一个接一个地执行速度令人遗憾,但是,无服务器解决方案是可能的,需要更多的监控,但VM管理更少。云构建出现在脑海中,但它意味着使用每个步骤的python脚本构建一个容器,并在类似yaml的云构建中重新编写编排脚本。您能并行运行所有指令吗?遗憾的是,不能,它们必须一个接一个地执行速度令人遗憾,但无服务器解决方案是可能的,需要更多的监控,但需要更少的VM管理。云构建出现在脑海中,但它意味着使用每个步骤的python脚本构建一个容器,并在类似yaml的云构建中重新编写编排脚本。