如何在生产模式下运行sidekiq

问题描述 投票:0回答:4

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

ruby-on-rails ruby-on-rails-4 sidekiq
4个回答
3
投票

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

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

Capistrano不会在启动时启动Sidekiq。


1
投票

您可以为Sidekiq创建初始化脚本,然后使用该脚本来启动或停止它。

我曾经在下面的链接中提到过一次

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


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

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 ps ax | grep sidekiq获取进程号并像运行kill <process number>一样将其kill <process number>

© www.soinside.com 2019 - 2024. All rights reserved.