我们遵循基于微服务的架构,我通过 helm 包将应用程序部署在 kubernetes 集群内。我有一个 Nodejs 应用程序,它从数据库查询 cron 作业,并且应该将这些作业添加到同一容器内的 crontab 文件中。
因此,当我在端口中将容器公开为 Nodejs 应用程序时,我将发出添加作业请求,这些作业将被格式化为 cron 作业类型,并且需要将这些条目添加到 crontab 并在后台执行这些作业。
这能实现吗?
如果是,我应该在什么基础镜像上构建我的 Node 应用程序?
我应该在 docker 文件中包含哪些步骤,以验证我的 cron 执行日志、运行 Node 应用程序和 cron 作业?
最佳答案
我知道您正在寻找一个作业调度程序,根据我的经验,每个容器放置多个进程并不是最好的主意,也许您可以使用另一种方法,使用运行该作业的额外微服务。
我建议使用议程
https://github.com/agenda/agenda
您可以创建一个议程工作线程,其中包含不同作业的代码,您唯一需要的就是发送计划作业或立即执行,通过此架构,您可以拥有多个议程,也可以作为 Node 应用程序的同一 Pod 内的边车容器。
关于node.js - 当我在前台有一个 NodeJS 应用程序作为端点时,如何在后台容器内运行 cron 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50523582/