ruby на рельсах консольных процессов в фоновом режиме - PullRequest
2 голосов
/ 21 июля 2010

Есть ли способ запустить процессы из скрипта / консоли rails в фоновом режиме? У меня есть одноразовый lib-скрипт, выполнение которого займет около двух дней, и я хочу настроить его запуск в фоновом режиме.

Что-то вроде:

script/console

Тогда:

>> load 'script.rb' &

В командной строке я бы просто сделал:

$ command &

Я нашел: http://backgroundrb.rubyforge.org/, но это казалось излишним для этой единовременной задачи.

Я тоже пробовал:

$ ruby data_importer2.rb &

Это не импортирует активный материал записи (ошибка: неинициализированная константа ActiveRecord)

Спасибо!

Ответы [ 3 ]

6 голосов
/ 21 июля 2010

Вы можете сделать это с помощью скрипта вместо консоли:

./script/runner script.rb &
2 голосов
/ 21 июля 2010
$ script/console
>> fork { load 'script.rb' }
>> Process.detach
>> # ...
2 голосов
/ 21 июля 2010

Вы можете использовать скрипт / раннер или, если вам нужно запустить его снова в какой-то момент, самый простой способ - обернуть его в задачу rake.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...