如何将一些实时日志发送到rails视图?

时间:2018-01-26 06:14:38

标签: ruby-on-rails ruby actioncable

我有一个处理某项工作的rails服务。我想将日志发送到视图,以便用户知道该过程的当前状态。

视图将具有状态指示器和日志容器。

这是一个示例视图

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 个答案:

答案 0 :(得分:0)

这个想法是后台作业会将日志写入临时表。将在View中执行javascript间隔进程,以便每隔5秒调用一次服务器以获取新的日志记录。 我们来看看例子:

$(document).ready(function () {
    setInterval(refreshPartial, 5000)
  });
  function refreshPartial() {
    $.ajax({
      url: "#{'/writing_log/refresh_detai?filter_by=%s' % [params[:filter_by]]}"
    })
  }