2017-07-31 202 views
0

我在带有rvm和乘客的rails开发环境中使用sidekiq。在应用程序启动时自动启动sidekiq(RoR)

在应用程序的启动,我需要手动启动Sidekiq:

bundle exec sidekiq --environment development -C sidekiq.yml 

是疗法的方式来自动启动它在App启动或重新启动(不启动服务器)?

谢谢

回答

0

使用foreman宝石。通过工头,您可以声明您的应用程序需要在Procfile中运行的所有进程。

web: bundle exec puma -C config/puma.rb 
worker: bundle exec sidekiq --environment development -C sidekiq.yml 

foreman start命令启动您的应用程序:

使用彪马sidekiq请参见下面的应用程序的样本Procfile定义。

+0

它是否也适合生产环境?使用乘客(也用于开发)我不启动在美洲狮应用程序(与导轨s) – EffeBi

+0

是的。工头可以用于生产。您可以将其合并到您的发布工具(例如Capistrano)中,并在部署到生产环境时运行它。您可以用您使用的乘客命令替换puma命令。 – quajo

+0

看看这个[回答](https://stackoverflow.com/questions/11592798/use-different-procfile-in-development-and-production) 关于定义基于环境的不同Procfiles。 – quajo

相关问题