0

Я использую Resque камень, и я бегу на работу через следующую команду:Как запустить длинную работу на экземпляре Amazon EC2 в Rails?

rake resque:work QUEUE='*' 

Но проблема: Как моя SSH соединение с удаленным сервером обрывается, или я закрыть окно SSH сеанса который запускает процесс rake resque:work QUEUE='*', он прекращает выполнение задания.

Я хотел бы иметь способ, которым работа будет работать независимо: не нужно оставаться подключенным через SSH. Есть ли способ, или я должен следовать этой процедуре, чтобы выполнить то, что мне нужно?

ответ

1

Для этого вы можете выполнить задачу рейка в фоновом режиме. Существует несколько способов сделать это. Два из них находятся здесь:

  1. Использование демона позволяет выполнить задачу рейка в фоновом режиме. Здесь link для демона. Вот link, Как это сделать для рельсовых рейк-задач. Добавление & в rake task - это мой предпочтительный способ.

  2. Внедрение cron для запуска рейк-задачи индивидуально.

+0

Извините, что я новичок в этой вещи: мне нужно иметь * всякий раз, когда gem легко запускает cron? –

+0

Да, когда вам нужно настроить cron на сервере. вы не попробовали «rake resque: work QUEUE = '*' &'. Это то, что вы должны запустить. –

+0

Для правильного решения вы должны прочитать это http://stackoverflow.com/questions/26260733/how-to-daemonize-rails-rake-task-on-elastic-beanstalk-start-up. –

3

Еще один способ запуска задачи в фоновом режиме: screen. Он создает столько сеансов оболочки, сколько вам нужно, и их можно отключить от вашего начального сеанса. Run:

screen (вы будете в новом сеансе оболочки)

/path/to/your/script > /path/to/log_file

Ctrl + A, Ctrl + D (здесь вы вернуться к первоначальной сессии оболочки, в то время сеанса начало вашего скрипта будет продолжаться)

Вы можете посмотреть прогресс на tail -f /path/to/log_file, выйти из системы и снова войти в систему. Чтобы вернуться к сеансу автономной сессии screen -r.

Если у вас нет screen, установите прогон yum install screen. Не уверен, что Ubuntu, возможно, будет apt-get install screen. Запустите man screen для более подробной информации.

Смежные вопросы