繁体   English   中英

重新启动后,Rails 3延迟启动

[英]Rails 3 delayed_job start after rebooting

我在Apache下部署了Rails网站。 Apache作为服务运行。 现在,我在此处添加了delay_job,一切正常。

现在,我想与apache一起启动worker,例如,重新启动服务器后,我的站点和worker已经准备就绪,因此不必登录并键入“ sudo RAILS_ENV = production脚本/ delayed_job -n 2 start”。 。

另一个问题是,每当我要启动delay_job时,都必须使用“ sudo” ...

任何想法如何避免这两个问题?

谢谢你的帮助。

使用everyth gem及其“ every:reboot”功能。 在schedule.rb中:

environment = ENV['RAILS_ENV'] || 'production'
every :reboot do
    command "cd #{path} && #{environment_variable}=#{environment} bin/delayed_job --pool=queue1:2, --pool=queue2,queue3:1 restart"
end

您可以创建一个Shell脚本来执行所需的命令吗?

#!/bin/sh

# stop delayed job

# restart apache
apachectl restart

# start delayed job
sudo RAILS_ENV=production script/delayed_job -n 2 start

听起来好像您想在启动硬件时,在apache启动后自动启动delay_job。 如果是这种情况,则需要在/etc/init.d/etc/rc.d/init.d (取决于您的系统)中编写一个初始化脚本。 此页面对此提供了不错的入门:

http://www.philchen.com/2007/06/04/quick-and-dirty-how-to-write-and-init-script

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM