从 docker 堆栈运行 cron 作业的最佳实践
Posted
技术标签:
【中文标题】从 docker 堆栈运行 cron 作业的最佳实践【英文标题】:Best practices to run cron job from a docker stack 【发布时间】:2018-10-04 04:19:20 【问题描述】:事情是这样的:我有一个堆栈,其中节点 js 后端将消息发送到队列,perl 工作人员(cron 作业)使用来自该队列的消息。我已经“dockerized”了节点 js 后端,但现在我正在尝试对 Perl Workers 做同样的事情。
然而,Perl 应用程序本身已经 dockerized,因为队列中的“作业”是基于 crontab(即每 2 分钟)消耗的,我的问题是:
从 docker-compose 文件构建堆栈时,最好的方法是什么?
如果我应该提供更多详细信息,请告诉我。谢谢!
【问题讨论】:
看看这个:***.com/questions/37458287/… 它还在容器内启动一个 cron 作业。 【参考方案1】:我在How to run a cron job inside a docker container? 的帮助下解决了这个问题,但是我必须添加以下行:
运行 crontab /etc/cron.d/crontab
这基本上从指定文件加载 crontab 数据。如果我没有那样做,cron 守护进程永远不会启动。
希望这会有所帮助,但仍不清楚这是否是最好的方法。
【讨论】:
在扩展应用程序时,请考虑在容器外部调用 cron(如在 k8s 中)。扩展容器时,Cron 作业可能会重叠。以上是关于从 docker 堆栈运行 cron 作业的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章
每 30 秒运行一次 cron 作业的最佳方式是啥? [复制]