Bri*_*ian 6 monit ruby-on-rails-3 sidekiq
我正在尝试为Sidekiq设置Monit.这是我到目前为止配置文件的内容:
check process sidekiq_site
with pidfile /var/www/site/tmp/pids/sidekiq.pid
start program = "bundle exec sidekiq -C /var/www/site/config/sidekiq.yml -P /var/www/site/tmp/pids/sidekiq.pid" with timeout 90 seconds
if totalmem is greater than 200 MB for 2 cycles then restart # eating up memory?
group site_sidekiq
Run Code Online (Sandbox Code Playgroud)
问题是,当我运行monit reload时,我收到的消息是程序"bundle"不存在.
有人有解决方案吗?
在我自己的 monit 和 sidekiq 配置上工作后,我可以分享对我运行 ubuntu 有用的东西。
首先,如果您使用该发行版,则存在适用于 ubuntu 的 sidekiq upstart 脚本。有用于 sidekiq 和管理工人的脚本:https : //github.com/mperham/sidekiq/tree/master/examples/upstart/manage-one
当我使用 rvm 时,我在使用默认的 upstart 脚本时遇到了一些错误。检查 /var/logs/upstart/sidekiq-0.log 对问题有所了解。这一行:
exec bin/sidekiq -i ${index} -e production -C config/sidekiq.yml -P tmp/pids/sidekiq-${index}.pid
需要更改为exec bundle exec sidekiq+ 选项
然后,为了使所有内容与我的 rvm 安装保持一致,我更改了以下内容:
#source $HOME/.rvm/scripts/rvm
source /usr/local/rvm/scripts/rvm
Run Code Online (Sandbox Code Playgroud)
在 /etc/monit/monitrc 中,我引用了 upstart 脚本并具有:
# sidekiq
check process sidekiq
with pidfile /var/www/apps/myapp/current/tmp/pids/sidekiq-0.pid
start program = "/usr/bin/sudo start sidekiq index=0"
stop program = "/usr/bin/sudo stop sidekiq index=0"
if totalmem is greater than 500 MB for 2 cycles then restart # eating up memory?
if 3 restarts within 5 cycles then timeout
Run Code Online (Sandbox Code Playgroud)
检查这个: https: //groups.google.com/forum/? fromgroups=#!topic/rubyversionmanager/0abB9jlqi_Y 如果您使用rvm,
/bin/su - <username> -c 'bundle exec sidekiq -C /var/www/site/config/sidekiq.yml -P /var/www/site/tmp/pids/sidekiq.pid'
Run Code Online (Sandbox Code Playgroud)
如果您从用户启动 monit,请在 .bash_profile 中设置 $HOME。
或调查其答案: https: //github.com/mperham/sidekiq/issues/506
| 归档时间: |
|
| 查看次数: |
7419 次 |
| 最近记录: |