从Docker堆栈运行cron作业的最佳实践

the*_*ron 8 cron docker docker-compose docker-swarm

事情是这样的:我有一个堆栈,其中节点js后端将消息发送到队列,而perl worker(cron作业)使用该队列中的消息。我已经“ dockerized”了节点js后端,但是现在我正尝试对Perl Workers执行相同的操作。

但是,已经在docker化了Perl应用程序本身,因为队列的“作业”是基于crontab消耗的(即每2分钟),所以我的问题是:

从docker-compose文件构建堆栈时,实现此目标的最佳方法是什么?

让我知道是否需要提供更多详细信息。谢谢!

the*_*ron 5

我在如何在Docker容器中运行cron作业的帮助下解决了但是,我必须添加以下行:

运行crontab /etc/cron.d/crontab

它基本上从指定的文件加载crontab数据。如果我没有那样做,那么cron守护程序将永远不会启动。

希望这会有所帮助,但是仍然不清楚这是否是最好的方法。

  • 缩放应用程序时,请考虑在容器外部调用cron(例如在k8s中)。缩放容器后,Cron作业可能会重叠。 (2认同)