我想将以下任务作为守护进程(无限循环)
运行每6:00和12:00重新启动docker容器及其任务
while true
docker-compose up
docker exec EZUSer_star_1 ruby star/star.rb&
docker exec EZUSer_tiger_1 ruby tiger/tiger.rb&
BUSY_WAITING_HERE except if 6:00 or 12:00 then just keep going
docker-compose down
end
是否有任何建议保证上述工作可以持续数月或数年?
我不想用cron
我需要应用级cronjob-like
库
是否有任何Ruby DSL或库可以让我更轻松或更健壮地完成这种工作。
答案 0 :(得分:0)
如果您正在寻找Ruby调度程序,Rufus Scheduler是我所知道的最好的。
答案 1 :(得分:0)
在永久循环中运行它可能不是一个好主意。一般来说,糟糕的事情总是发生在表现良好的过程中(如果没有释放所有资源,那么事情会导致处于肮脏状态的故障无法恢复)。
如果你想继续,请确保你有一些东西(外部)检查进程是否正在运行并重新启动它(supervisord / monit / etc)。