Вы можете использовать некоторые автоматизированные пакеты или написать собственный скрипт bash для этого.
Я лично предпочитаю писать свои собственные скрипты, поэтому позвольте мне объяснить, что:
- Написатьскрипт, который выполняет sidekiq , если он еще не запущен
- Напишите cronjob для выполнения этого скрипта каждую минуту
Обратите внимание, что этот метод не мгновенный , что означает, что у вас может быть время простоя до 1 минуты, так как cronjob работает каждую минуту.Так что, если ваш проект чувствителен к этому, вы можете использовать один из инструментов управления процессами, например monit
или god
.
Ваш скрипт bash должен содержать вашу команду,
bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e production
Но убедитесь, что вы используете абсолютные пути, если собираетесь хранить свой скрипт вне директории вашего проекта.
Здесь - полезный раздел о написании скрипта оболочки для проверки того,процесс уже существует.
Чтобы запускать скрипт каждую минуту, выполните следующие действия:
- Перейдите на свой терминал
- Введите
crontab -e
- Добавить
* * * * * /bin/bash -l -c 'cd /PATH/TO/YOUR/DIR && sh SCRIPTNAME.sh'
- Сохранить и выйти из редактора
Делая это, вы говорите своему компьютеру выполнять ваш скрипт каждую минуту.Обычно люди предпочитают писать только * * * * * /path/to/script.sh
своему crontab, но в некоторых случаях это не получается.
Надеюсь, это поможет.