2

我正在使用仪表板来显示特定服务器上的一些数据点。获取这些数据需要非常重要的资源,因此理想情况下,只有当有一个小部件正在积极收听它时才会发生这种情况。这对 dashing 可行吗?例子:

用户浏览到 /server-info?server_id=1234

这将返回一个带有 data-id="server-info-1234" 的 HTML 页面,并以某种方式提醒 jobs/server-info.rb 开始收集“1234”上的数据。理想情况下,一旦关闭选项卡,就会通知作业。

本质上,网络视图有没有办法将数据/事件发送到作业?

4

1 回答 1

0

不,不是,但是有可能以另一种方式解决这个问题。

在您的工作中,一旦您require 'sinatra'可以看到有多少活动连接正在运行,如下所示Sinatra::Application.settings.connections

所以,做这样的事情:

require 'sinatra'

current = 0
SCHEDULER.every '30s' do
  if Sinatra::Application.settings.connections.length > 0
    current = doMyCostlyOperation()
  end

  send_event('value', { current: current })
end
于 2015-07-02T01:01:39.247 回答