Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.

Ruby Monitor

#!/usr/bin/ruby  
require 'rubygems'
gem 'riddl', '>=0.99.30'
require 'riddl/client'
 
srv = Riddl::Client.new("http://localhost:9298/")
 
### creating new instance
status, response = srv.resource("/").post [
  Riddl::Parameter::Simple.new("name","Monitor Test")
]
ins = response.first.value
 
### if instance not empty monitor it
unless ins.empty?
  puts "Monitoring Instance #{ins}"
  status, response = srv.resource("/#{ins}/notifications/subscriptions/").post [
    Riddl::Parameter::Simple.new("topic","properties/description"),
    Riddl::Parameter::Simple.new("events","change"),
    Riddl::Parameter::Simple.new("topic","properties/state"),
    Riddl::Parameter::Simple.new("events","change"),
  ]
  key = response.first.value
 
  res = srv.resource("/#{ins}/notifications/subscriptions/#{key}/ws/").ws do |conn|
    conn.stream do |msg|
      puts msg
      puts '--------------'
    end
  end
end
Letzte Änderung: 16.03.2012, 00:46 | 126 Worte