我有一个奇怪的问题(至少对我来说!),但我不确定如何处理它。
背景
我有几个批处理作业(通过 cron 调用的 python 脚本或由 bash 脚本调用的 python 脚本)。例如,20 个 ETL 作业和 20 个数据处理作业。这些作业发生在不同的时间。
当前方法
我让服务器保持开启状态,并运行 cron 作业以在预定时间运行脚本(它们不会同时运行……一个脚本可能在下午 1 点运行,而另一个脚本可能在下午 5 点运行)。目前运行正常
问题 我想省钱,而且工作不必在我设定的时间准时开始,它们可能会间隔几分钟或一两个小时,所以我考虑使用按计划启动服务器的可抢占实例。
我正在考虑每小时启动一次服务器,然后处理所有超出其计划但尚未完成的工作。
我不知道该怎么做!有没有办法在 ubuntu 中安排这个?我考虑过设置一个外部数据库,并编写一个脚本来查询它以查看需要启动哪些进程,但我觉得这有点小题大做,我怀疑这可能是一个常见问题,有一个更简单的解决方案。
请告诉我!