Системные вызовы завершаются - PullRequest
1 голос
/ 17 июня 2010

Я запускаю задачу rake (которая должна быть запущена в течение ~ 24 часов), но она неожиданно останавливается. STRERR пуст. Код, который запускает задачу:

@bucket = Bucket.find(params[:id])
cmd = "#{`which rake`.chomp} bucket:generate[#{@bucket.id}] --trace 2>&1 > #{Rails.root}/log/bucket-#{@network.id}.log &" # 2> #{Rails.root}/log/bucket-#{@network.id}-error.log &"
system(cmd)
flash[:notice] = "Generation started"
redirect_to buckets_path

Если я запускаю задачу из консоли, она выполняется нормально, но через некоторое время задача, выполненная из контроллера, останавливается ...

1 Ответ

1 голос
/ 17 июня 2010

Запросы со временем истекают;это не подходящее место для такой команды.

Вместо этого попробуйте что-нибудь еще для планирования задач, например, cron или мой демон-планировщик gem:

http://www.github.com/ssoroka/scheduler_daemon

Если его нужно запустить из контроллера, попросите его обновить запись в базе данных или даже написать файл.

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