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