Как отправить некоторые логи в реальном времени на просмотр рельсов?
У меня есть служба рельсов, которая обрабатывает какую-то работу. Я хочу отправить журналы для просмотра, чтобы пользователь знал текущее состояние процесса.
Представление будет иметь индикатор состояния и контейнер журнала.
Вот примерный вид
Status: Running
**LOGS**
2017-02-27 10:00:00 - Job started..
2017-02-27 10:00:10 - Downloading some_file from server..
2017-02-27 10:00:40 - Download successfull..
2017-02-27 10:01:20 - Compressing file..
2017-02-27 10:01:52 - Sending file..
2017-02-27 10:02:02 - Job ended.
1 ответ
Идея в фоновом режиме - запись журнала во временную таблицу. В представлении будет выполняться интервал javascript, чтобы каждые 5 секунд вызывать сервер для получения новых записей журнала. Давайте посмотрим пример:
$(document).ready(function () {
setInterval(refreshPartial, 5000)
});
function refreshPartial() {
$.ajax({
url: "#{'/writing_log/refresh_detai?filter_by=%s' % [params[:filter_by]]}"
})
}