繁体   English   中英

Google Cloud托管虚拟机上的Cron作业

[英]Cron job on google cloud managed virtual machine

我有一个python脚本,可以查询来自多个Web API的某些数据,经过一些处理后将其写入MySQL。 此过程必须每10秒重复一次。 数据必须可供读取MySQL并执行CPU密集型工作的Google Compute实例使用。

对于此工作流程,我考虑过使用GCloud SQL并运行GAppEngine来查询数据。 注意: python脚本不会直接在GAE上运行(导入熊猫,scipy),但应在正确设置的App Engine托管VM上运行。

最后的问题是:是否可以在GApp托管的VM上安排cron作业以每10秒运行一次调用我的数据收集脚本的命令? 此方法有其他选择吗?

cron作业的最佳分辨率是1 分钟 ,因此您不能每10秒运行一次cron作业。

在您的位置,我将运行一个Python脚本,该脚本每10秒启动一个新线程来完成MySQL工作,并伴有每分钟运行一次的cronjob。 如果cronjob发现Python脚本未在运行,它将重新启动它。
(即,crontab行看起来像* * * * * /command/to/restart/Python/script )。

更糟糕的情况是,您将错过5次MySQL工作线程运行(持续50秒)。

如果是托管虚拟机,则可以使用任务队列以及Cron作业。 如果您有处理程序来运行脚本,它将可以正常工作。

如果您想使用内部cron,则应查看如何在docker环境中运行cron作业

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM