google 云托管虚拟机上的 Cron 作业

Cron job on google cloud managed virtual machine

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

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

最后 问题:在 GApp 托管 VM 上安排一个 cron 作业到 运行 调用我的数据收集脚本的命令是否可能并且是否合理每 10 秒?这种方法的任何替代方法?

如果是托管 VM,您可以使用任务队列和 Cron 作业。如果您有 运行 您的脚本的处理程序 -- 它会起作用。

如果您想使用内部 cron,您应该查看 how to run cron job inside of docker environment

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

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

更糟糕的情况是您会错过 5 运行 个 MySQL 工作线程(50 秒的持续时间)。