2010-06-17 10 views
1

Я запускаю задачу 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

просит в конечном итоге тайм-аут; это не подходящее место для такой команды.

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

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

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

+0

Спасибо! Это то, что мне нужно. –

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