Вы можете визуализировать представление в строку, перехватить любые тайм-ауты, которые могут произойти во время визуализации, зарегистрировать результаты действия и вернуть строку:
begin
@elements = Element.find(:all)
html = render_to_string
# Store the result
Result.create(:element_count => @elements.count)
rescue Timeout::Error
# Store the result of the call as failed?
Result.create(:element_count => 0)
end
send_data html, :disposition => 'inline', :type => 'text/html'
Некоторые другие действия, которые вы можете сделать длядостижение вашей цели может быть следующим:
Вы можете использовать задачу rake вместо действия контроллера, если код, который вам нужно выполнить, запускается только вашим заданием cron.
Вместо того, чтобы напрямую делать запрос с помощью wget в вашем задании cron, вы можете вызвать скрипт, который отправит запрос вашему контроллеру, проверить вывод запроса, а затем записать результат (возможно,вызов нового действия в контроллере).