Как отправить некоторые логи в реальном времени на просмотр рельсов?

У меня есть служба рельсов, которая обрабатывает какую-то работу. Я хочу отправить журналы для просмотра, чтобы пользователь знал текущее состояние процесса.

Представление будет иметь индикатор состояния и контейнер журнала.

Вот примерный вид

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]]}"
    })
  }
Другие вопросы по тегам