2015-04-08 3 views
0

Я использую драгоценный камень «каждый раз» для моего рельса cron-файла в EC2, и он отлично работает. «Всякий раз, когда -w» пишет это, и мне больше не придется беспокоиться об этом. Проблема в том, что мой экземпляр имеет запланированную перезагрузку. Приложение rails передается в новый экземпляр, и весь процесс выполняется без простоя, но новый экземпляр не имеет моего cron-файла.Выполнение Rails «когда-либо», когда EC2-экземпляр перемещается

Как я могу убедиться, что файл cron будет записан, когда я перейду к новому экземпляру? Есть ли способ запустить его в начале приложения или что-то в этом роде? Благодарю.

ответ

0

Всякий раз, когда это команда. Если вы запустите:

bundle exec whenever --help 

Вы получите полный список флагов. Вы хотите:

bundle exec whenever -w /path/to/schedule.rb 

Вы можете добавить простой скрипт в /etc/init.d

#!/bin/bash 
cd /to/app && /full/path/to/bundle exec whenever -w /full/path/to/schedule.rb 
+0

Я думаю, что вы ответили на мой вопрос, но я до сих пор застрял. Я понимаю, как писать в файл cron Everywhere. Я хочу выполнить команду Whenever -w при запуске сервера rails. Это команда, введенная в production.rb? – Chakron

+0

Вам нужно создать простой скрипт оболочки, либо поместить его в init.d http://stackoverflow.com/questions/12973777/how-to-run-a-shell-script-at-startup или сделать его способом EC2 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html – joncon

+0

Отлично! Спасибо. – Chakron