Добавление resque-web в Supervisord

Добавление resque-web в Supervisord

Я бегу, supervisordчтобы Redis и другие части программного обеспечения работали. Однако я не могу, хоть убей, приступить resque-webк работе.

Вот .ini-файл, который я включаю:

[программа:resque]
команда=/usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web
автозапуск=истина
автоперезапуск=истина
пользователь=root
stdout_logfile=/var/lib/resque/stdout.log
stderr_logfile=/var/lib/resque/stderr.log

К сожалению, при запуске service supervisor restartя получаю в журнале следующее supervisord:

ИНФОРМАЦИЯ завершена: запрос (статус завершения 127; не ожидалось)

По данным Googleкод 127"Команда не найдена". Однако, если я запускаю эту команду вручную, сервер resque-web загружается нормально с выводом:

[2013-05-24 00:03:09 -0600] Запуск «resque-web»…
[2013-05-24 00:03:09 -0600] попытка порта 5678...

Также стоит отметить, что я вижу следующее, когда /var/lib/resque/stderr.logsupervisord пытается запустить resque-web:

/usr/bin/env: ruby_noexec_wrapper: Нет такого файла или каталога

Так что я в тупике. Все остальные части ПО, которые я настраивал на supervisord, работают нормально. Это единственное, что вызывает у меня головную боль...

Редактировать 1

Поэтому я попытался создать простой скрипт bash, чтобы обойти это, и теперь я получаю другую ошибку в файле stderr.log. .ini, который я включаю, изменен, чтобы иметьcommand=/usr/local/bin/resque-web

/usr/local/bin/resque-web

#!/bin/баш
источник /usr/local/rvm/environments/default
resque-web

Ошибка

usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:82:in `app_dir': ни --app-dir, ни EVN['HOME'] не определены (ArgumentError)
        из /usr/local/rvm/gems/ruby-2.0.0-p195/gems/vegas-0.1.11/lib/vegas/runner.rb:66:в `initialize'
        из /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:в `новый'
        из /usr/local/rvm/gems/ruby-2.0.0-p195/gems/resque-1.24.1/bin/resque-web:13:in `'
        из /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:в `load'
        из /usr/local/rvm/gems/ruby-2.0.0-p195/bin/resque-web:23:in `'
        из /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:в `eval'
        из /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `'

решение1

Ну, похоже, что supervisor не будет работать с resque-web, поскольку это демонизированный процесс. Решением было создать /etc/cron.d/resqueи поместить в него следующее:

ОБОЛОЧКА=/bin/bash
ПУТЬ=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/gems/ruby-2.0.0-p195/bin
ДОМОЙ=/
* * * * * корневой ресурс-веб

Это запускается каждую минуту и ​​перезагружает сервер в случае сбоя. Мне этого достаточно!

Связанный контент