У меня есть несколько задач рейка, которые мне нужно запустить в фоновом режиме. Я использую rbenv
для управления моими рубиновыми версиями, supervisord
для выполнения задач, и bundle
, чтобы убедиться, что я использую правильные версии драгоценных камней. Мой supervisord конфигурация для каждой задачи выглядит следующим образом:Как получить пакет, чтобы показать полную команду в «ps aux» при запуске bundle exec?
[program:data-importer]
command=/home/ubuntu/.rbenv/bin/rbenv exec bundle exec rake import:data
environment=RAILS_ENV=production,PATH=/home/ubuntu/.rbenv/shims:%(ENV_PATH)s,PRODUCTION=true
directory=/home/ubuntu/app/current
user=ubuntu
stdout_logfile=/var/log/app/%(program_name)s-out.log
stderr_logfile=/var/log/app/%(program_name)s-err.log
autostart=true
Я также использую consul
контролировать свою инфраструктуру, и я использую чек консула, чтобы убедиться, что эти сценарии работают. Проверка требует очень простой Баш скрипт, показанный ниже:
#!/bin/bash
if ps -ef | grep [i]mport:data | grep -v running; then
echo "data importer running"
exit 0
else
echo "data importer not running"
exit 2
fi
Эти сценарии были запущены просто отлично, пока пару дней назад, когда эти проверки начались на провал. Проблема в том, что когда я запускаю ps -ef
, перечисленный процесс больше не содержит import:data
. Теперь он показывает это:
ubuntu 30450 ... /home/ubuntu/.rbenv/versions/2.3.1/bin/rake
Ничего не изменилось на машине, только версия Ruby. Мы использовали 2.2.2, и мы обновили до 2.3.1 в прошлую пятницу. Вот почему я думаю, что это проблема с пакетом, поскольку мы установили новую версию после обновления ruby.
Мы не видели проблему до воскресенья, но могло случиться так, что мы ее раньше не видели.
Может ли кто-нибудь помочь мне с этим? Я застрял на некоторое время теперь :(