我正在开发一个Rails 3.1应用程序,它需要在应用程序服务器启动时启动几个后台进程:(1)使用FSSM监视某个目录中的文件的文件系统监视进程,以及(2)a从Resque队列执行作业的Resque“worker”进程。
在我最初的尝试中,我通过在config / initializers目录中的初始化程序中生成进程来完成此操作。这个工作正常,因为进程与“rails服务器”一起正确启动和停止。但是,问题是每当我运行“rails console”或任何Rake任务时,也会执行这些初始值设定项。有没有办法让初始化程序只作为“rails server”命令的一部分运行,而不是在“rails console”或Rake任务期间运行?
或者,是否有更好的方法来启动不使用初始化器机制的后台进程?我仍然希望能够通过一个命令启动所有内容。
谢谢!
答案 0 :(得分:4)
有许多不同的方法可以启动后台任务和流程。你应该使用更成熟的方法......
但是如果你想简化流程我建议你使用Foreman ......
http://blog.daviddollar.org/2011/05/06/introducing-foreman.html