如何使用 Ubuntu 启动延迟作业?
How to start Delayed Job with Ubuntu?
我在 Rails 5 应用程序上使用 Delayed Job 作为 Active Job 的排队后端,但我不知道如何在启动后在 Ubuntu 14.04 上启动工作程序。我应该将 rails jobs:work
包装到 Bash 脚本中吗?我如何让它自动启动?或者最好使用 bin/delayed_job
?
如何在启动时启动延迟作业?
你在OS什么并不重要(只要不是Windows :D)。
要开始处理,命令是:
bundle exec rake jobs:work
重启delayed_job命令是:
RAILS_ENV=production script/delayed_job restart
查看 gems README 了解更多信息。
编辑
(根据评论)
您可以在用户主页 start_delayed_jon.sh
创建一些 bash 脚本。
大致情况:
#!/bin/bash
cd /path/to/your/project/directory/
RAILS_ENV=development bundle exec rake jobs:work
和 运行 它在 /etc/rc.local:
su -s /bin/bash - deploy /path/to/your/project/directory/start_delayed_jon.sh
使用 Whenever Gem,您可以设置一个在重新启动时运行它的 cronjob。在您的 schedule.rb 文件中:
every :reboot do
rake 'start_delayed_jobs'
end
然后在你的 rake 文件中:
desc 'Start delayed jobs'
task :start_delayed_jobs do
system("#{Rails.root}/bin/delayed_job start")
end
end
如果您正在使用 gem 'delayed_job_active_record'
。
您在本地 ubuntu 系统上启动延迟作业,只需 运行 下面的命令即可启动
./bin/delayed_job start
并重启
./bin/delayed_job restart
如果我们处于开发模式,我们将使用下面的 rake 任务。
bundle exec rake jobs:work
用于生产:
RAILS_ENV=production script/delayed_job -n2 restart
or
RAILS_ENV=production bin/delayed_job -n2 restart
n2 是在启动时要重新启动的延迟作业服务器的数量,请改用命令启动或重新启动。
文档:https://github.com/collectiveidea/delayed_job#restarting-delayed_job
我在 Rails 5 应用程序上使用 Delayed Job 作为 Active Job 的排队后端,但我不知道如何在启动后在 Ubuntu 14.04 上启动工作程序。我应该将 rails jobs:work
包装到 Bash 脚本中吗?我如何让它自动启动?或者最好使用 bin/delayed_job
?
如何在启动时启动延迟作业?
你在OS什么并不重要(只要不是Windows :D)。
要开始处理,命令是:
bundle exec rake jobs:work
重启delayed_job命令是:
RAILS_ENV=production script/delayed_job restart
查看 gems README 了解更多信息。
编辑
(根据评论)
您可以在用户主页 start_delayed_jon.sh
创建一些 bash 脚本。
大致情况:
#!/bin/bash
cd /path/to/your/project/directory/
RAILS_ENV=development bundle exec rake jobs:work
和 运行 它在 /etc/rc.local:
su -s /bin/bash - deploy /path/to/your/project/directory/start_delayed_jon.sh
使用 Whenever Gem,您可以设置一个在重新启动时运行它的 cronjob。在您的 schedule.rb 文件中:
every :reboot do
rake 'start_delayed_jobs'
end
然后在你的 rake 文件中:
desc 'Start delayed jobs'
task :start_delayed_jobs do
system("#{Rails.root}/bin/delayed_job start")
end
end
如果您正在使用 gem 'delayed_job_active_record'
。
您在本地 ubuntu 系统上启动延迟作业,只需 运行 下面的命令即可启动
./bin/delayed_job start
并重启
./bin/delayed_job restart
如果我们处于开发模式,我们将使用下面的 rake 任务。
bundle exec rake jobs:work
用于生产:
RAILS_ENV=production script/delayed_job -n2 restart
or
RAILS_ENV=production bin/delayed_job -n2 restart
n2 是在启动时要重新启动的延迟作业服务器的数量,请改用命令启动或重新启动。
文档:https://github.com/collectiveidea/delayed_job#restarting-delayed_job