我正在运行一个在初始化程序中启动 Rufus 调度程序进程的应用程序。该应用程序在生产中与Passenger一起运行,我注意到一些奇怪的行为:
首先,为了重新启动服务器并确保初始化程序运行,您必须同时touch tmp/restart.txt
在浏览器中加载应用程序。此时,初始化程序触发。可怕的是,如果你只进行触摸,Rufus 安排的进程会被重置并且不会重新安排,直到你在浏览器中加载应用程序。
就这点我能应付。但这导致了第二个问题:我会注意到计划的进程没有运行,所以我加载了一个页面,突然日志文件告诉我它正在运行初始化程序,就像我重新启动一样。因此,在某些时候,Passenger 会随机重启,就好像我触摸了 tmp/restart.txt 并清除了我的预定进程一样。
我对Passenger 和Rails 的集成非常缺乏了解,所以我不知道这种偶尔的重启是异常的还是整个架构的一部分。任何人都可以就这种情况提供任何智慧吗?