如何在仪表板中填充数据

时间:2016-04-20 07:30:51

标签: ruby jobs dashing

我使用以下git链接使用我们的地图小部件创建了一个仪表板:

https://gist.github.com/jrunge/acd98d3d550911bdc4b5

有人能告诉我如何创建自定义作业来填充要发送到窗口小部件的数据吗? JSON数据遵循此格式

{
  "points": [
    {
      "id": 12345,
      "lat": 35,
      "lon": -70,
      "type": "red"
    },
    {
      "id": 678910,
      "lat": 35,
      "lon": -70,
      "type": "green"
    }
  ]
}

我是否需要创建一个shell脚本或命令来填充数据。

2 个答案:

答案 0 :(得分:1)

只需在jobs目录中创建一个ruby脚本 的作业/ US-map.rb

SCHEDULER.every '2s' do
  us_map_details = {
    "points": [
      {
        "id": 12345,
        "lat": 35,
        "lon": -70,
        "type": "red"
      },
      {
        "id": 678910,
        "lat": 35,
        "lon": -70,
        "type": "green"
      }
    ]
  }
  # You can change the hash us_map_details to add/change/remove points
  another_point = {"id": 1729, "lat": 30, "lon": -60, "type": "red" }
  us_map_details[:points] << another_point

  send_event('usmap', us_map_details) # This is where data is sent to dashboard
end  

SCHEDULER对象是rufus scheduler的实例。您可以通过填充us_map_details哈希

来填充数据

答案 1 :(得分:0)

您有两种方法来填充小部件。

首先是Scheduler作业。您可以使用命令

创建一个
dashing generate job [Name_Of_Job]

其次,您可以使用curl命令将数据发送到窗口小部件:

curl -d '{ "auth_token": "YOUR_AUTH_TOKEN", "text": "Hey, Look what I can do!" }' http://<%=request.host%>:<%=request.port%>/widgets/welcome