如何在生产模式下运行sidekiq

时间:2014-06-28 17:07:19

标签: ruby-on-rails ruby-on-rails-4 sidekiq

我是铁杆新手。只是想知道我可以在产品模式中将sidekiq作为服务运行。我没有使用capistano或任何部署工具。我想像创建一个像sidekiq.rb这样的初始化文件,在里面放一行RAILS_ENV=production bundle exec sidekiq。请让我知道最佳解决方案。

4 个答案:

答案 0 :(得分:3)

了解您的操作系统服务经理。在Ubuntu中,这是Upstart。您需要创建脚本,以便您的操作系统知道在启动时启动Sidekiq。这里有Upstart和Runit的例子:

https://github.com/mperham/sidekiq/tree/master/examples

Capistrano不会在启动时启动Sidekiq。

答案 1 :(得分:1)

您可以为Sidekiq创建init脚本并使用它来启动或停止它。

我曾在同一个

的链接下面提到过一次

https://cdyer.co.uk/blog/init-script-for-sidekiq-with-rbenv/

答案 2 :(得分:0)

尝试

bundle exec sidekiq --environment production

查看sidekiq的帮助,这应该是您正在寻找的命令:

sidekiq --help

-c, --concurrency INT            processor threads to use
-d, --daemon                     Daemonize process
-e, --environment ENV            Application environment

答案 3 :(得分:0)

您可以通过运行bundle exec sidekiq -C config/sidekiq_config.yml -d -L /path/to/logs/folder/log/sidekiq.log

来启动它

sidekiq_config示例:

# sidekiq -C config/sidekiq_config.yml
---
:environment: production
:verbose: false
:pidfile: ./tmp/pids/sidekiq.pid
:concurrency:  4
:queues:
  - default
  - ts_delta

要停止它,您可以运行ps ax | grep sidekiq获取进程号并像运行kill <process number>一样终止它。