Я думал об этом и искал это целую вечность, не найдя ничего, поэтому я собираюсь предположить, что попал в проблему XY.Как запустить задачу capistrano при запуске сервера?
Позвольте мне описать мою проблему, это звучит достаточно широко.
Мы используем capistrano
для развертывания нашего веб-приложения и db. Соответствующая часть состоит в том, что у нас есть выделенный сервер для отложенной работы, и мы используем capistrano
для его развертывания и запуска/перезапуска процессов. Это индивидуальное количество работников с двумя разными Gemfile
и тремя очередями.
Что я хочу сделать - это запустить их при перезагрузке сервера или, точнее, на сервере clone + start.
Я пробовал, называя cap production delayed_job:custom_start
с самого сервера .. не работал. (Это ядро моего вопроса, не связанного с проблемой XY). Не уверен, что это даже имеет смысл. Но я хочу знать, возможно ли это. custom_start
- задача, которая начинает наш набор работников.
В качестве альтернативы я имею в виду абстрагирование кода в rake
задачи или сценария или что-то и назвав его как от capistrano
и где когда-либо мне нужно, чтобы добавить его запуск при загрузке. Это имеет смысл?
Edit: Просто найти this post .. ..
препятствуяP.S. Я просто хочу пояснить, что когда я говорю сервер, я имею в виду экземпляр Machine/ec2, а не перезапуск веб-приложения.
Что я пытался сделать, это добавить, возможно, задачу capistrano в rc local, но спасибо –
Добавление задачи capistrano в rc.local, вероятно, будет иметь каждый серверный логин для всех остальных, работающих в роли: приложение и что-то делать. Полагаю, вы можете обернуть его в командах run_locally. Дело в том, что это не инструмент для rc.local. Вы должны были бы убедиться, что поле выделено с помощью rvm, камень capistrano установлен правильно,/etc/profile правильный (rc.local не работает с профилем) и вызывает полные строки из rc.local (/ usr/bin/cap local start_server) или некоторые из них. Путь взломанный, и любой человек типа Операции застрелит вас. – Electrawn
haha достаточно справедливо –