nutella_lib 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f6e22dc80f2fa1a04b13c6285c5ab2eba470713
4
- data.tar.gz: a8a46742e94c7e8bbe15a52071c42fb5904f0cba
3
+ metadata.gz: 0a37285fe9851480adc9356e0285aa2e9ca57883
4
+ data.tar.gz: ad97877f32158f978be2603415914f25751bc337
5
5
  SHA512:
6
- metadata.gz: 5f4fc82775d70c1a5eb35f53d1b8e415f91da7c74f94541ed3e1cdd29f75ed7a123be54fc0addadaf265615fdfaba78ec3275c50aee06c2a56f0f271c30db530
7
- data.tar.gz: a5834403b96d5946f571aeb35085470f788d0709f516aaff128f0509ba46dc6d820fbbff3de30e2ec51af572b33cd92cf39b1e8f84013412f6a91a0790d9818c
6
+ metadata.gz: cceac4ec18ade4696c255edeb4913dd6da90b224abca8813e19d4fe680c5b796dee65f2e72b4592fb7d31bf513359e648529861718cc5f8a79dc611ec7753cd7
7
+ data.tar.gz: 5bf8c9ab76626a94c9fbac613f0aec7e000c48443f4546b9b324bb65f57c627aa6ec8f07f9af18e38b93b9e9a82344833d18702b9829ef15eeda035673dacb9f
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
2
2
 
3
3
  gem 'mqtt', '~> 0.3', '>= 0.3'
4
4
  gem 'ansi', '~> 1.5', '>= 1.4'
5
- gem 'mongo','~> 2.0.0.rc', '>= 2.0.0.rc'
5
+ gem 'mongo','~> 2.0.1', '>= 2.0.1'
6
6
 
7
7
  group :development do
8
8
  gem 'shoulda', '~> 3', '>= 3'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.5
1
+ 0.4.6
@@ -12,6 +12,8 @@ module Nutella
12
12
  Nutella.resource_id = nil
13
13
  Nutella.mongo_host = broker_hostname
14
14
  Nutella.mqtt = SimpleMQTTClient.new broker_hostname
15
+ # Start pinging
16
+ Nutella.net.start_pinging
15
17
  # Fetch the `run_id`s list for this application and subscribe to its updates
16
18
  net.async_request('app_runs_list', lambda { |res| Nutella.app.app_runs_list = res })
17
19
  self.net.subscribe('app_runs_list', lambda {|message, _| Nutella.app.app_runs_list = message })
@@ -182,6 +182,8 @@ module Nutella
182
182
  Nutella::Net.subscriptions.push padded_channel
183
183
  Nutella::Net.callbacks.push mqtt_cb
184
184
  Nutella.mqtt.subscribe( padded_channel, mqtt_cb )
185
+ # Notify subscriptions bot
186
+ Nutella::Net.publish_to('subscriptions', {'channel' => padded_channel}, Nutella.app_id, nil)
185
187
  end
186
188
 
187
189
 
@@ -13,6 +13,8 @@ module Nutella
13
13
  @resource_id = nil
14
14
  @mongo_host = broker_hostname
15
15
  @mqtt = SimpleMQTTClient.new broker_hostname
16
+ # Start pinging
17
+ Nutella.net.start_pinging
16
18
  end
17
19
 
18
20
 
@@ -20,6 +22,7 @@ module Nutella
20
22
  def self.app_id; @app_id end
21
23
  def self.run_id; @run_id end
22
24
  def self.resource_id; @resource_id end
25
+ def self.ping_thread; @ping_thread end
23
26
  def self.component_id;
24
27
  raise 'Nutella has not been initialized: you need to call the proper init method before you can start using nutella' if @component_id.nil?
25
28
  @component_id
@@ -40,6 +43,7 @@ module Nutella
40
43
  def self.component_id=(val); @component_id=val; end
41
44
  def self.mongo_host=(val); @mongo_host=val; end
42
45
  def self.mqtt=(val); @mqtt=val; end
46
+ def self.ping_thread=(val); @ping_thread=val; end
43
47
 
44
48
 
45
49
  # Accessors for sub-modules
@@ -80,15 +80,18 @@ module Nutella
80
80
  end
81
81
 
82
82
 
83
- # Listens for incoming messages. All this function
84
- # does is to put the thread to sleep and wait for something to
85
- # happen over the network to wake up.
86
- def self.listen
87
- begin
88
- sleep
89
- rescue Interrupt
90
- # Simply returns once interrupted
83
+ # Sends a ping every 5 seconds to pings channel of
84
+ # the proper level
85
+ #
86
+ def self.start_pinging
87
+ Nutella.ping_thread = Thread.new do
88
+ loop do
89
+ publish_to('pings', 'ping', Nutella.app_id, Nutella.run_id)
90
+ sleep(5)
91
+ end
91
92
  end
93
+ Signal.trap('INT') { exit }
94
+ Nutella.ping_thread.join
92
95
  end
93
96
 
94
97
 
@@ -209,6 +212,8 @@ module Nutella
209
212
  @subscriptions.push padded_channel
210
213
  @callbacks.push mqtt_cb
211
214
  Nutella.mqtt.subscribe( padded_channel, mqtt_cb )
215
+ # Notify subscriptions bot
216
+ publish_to('subscriptions', {'channel' => padded_channel}, app_id, run_id)
212
217
  end
213
218
 
214
219
 
data/nutella_lib.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: nutella_lib 0.4.5 ruby lib
5
+ # stub: nutella_lib 0.4.6 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "nutella_lib"
9
- s.version = "0.4.5"
9
+ s.version = "0.4.6"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
@@ -62,7 +62,7 @@ Gem::Specification.new do |s|
62
62
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
63
63
  s.add_runtime_dependency(%q<mqtt>, [">= 0.3", "~> 0.3"])
64
64
  s.add_runtime_dependency(%q<ansi>, [">= 1.4", "~> 1.5"])
65
- s.add_runtime_dependency(%q<mongo>, [">= 2.0.0.rc", "~> 2.0.0.rc"])
65
+ s.add_runtime_dependency(%q<mongo>, [">= 2.0.1", "~> 2.0.1"])
66
66
  s.add_development_dependency(%q<shoulda>, [">= 3", "~> 3"])
67
67
  s.add_development_dependency(%q<minitest>, [">= 5", "~> 5.4"])
68
68
  s.add_development_dependency(%q<yard>, [">= 0.8.7", "~> 0.8"])
@@ -73,7 +73,7 @@ Gem::Specification.new do |s|
73
73
  else
74
74
  s.add_dependency(%q<mqtt>, [">= 0.3", "~> 0.3"])
75
75
  s.add_dependency(%q<ansi>, [">= 1.4", "~> 1.5"])
76
- s.add_dependency(%q<mongo>, [">= 2.0.0.rc", "~> 2.0.0.rc"])
76
+ s.add_dependency(%q<mongo>, [">= 2.0.1", "~> 2.0.1"])
77
77
  s.add_dependency(%q<shoulda>, [">= 3", "~> 3"])
78
78
  s.add_dependency(%q<minitest>, [">= 5", "~> 5.4"])
79
79
  s.add_dependency(%q<yard>, [">= 0.8.7", "~> 0.8"])
@@ -85,7 +85,7 @@ Gem::Specification.new do |s|
85
85
  else
86
86
  s.add_dependency(%q<mqtt>, [">= 0.3", "~> 0.3"])
87
87
  s.add_dependency(%q<ansi>, [">= 1.4", "~> 1.5"])
88
- s.add_dependency(%q<mongo>, [">= 2.0.0.rc", "~> 2.0.0.rc"])
88
+ s.add_dependency(%q<mongo>, [">= 2.0.1", "~> 2.0.1"])
89
89
  s.add_dependency(%q<shoulda>, [">= 3", "~> 3"])
90
90
  s.add_dependency(%q<minitest>, [">= 5", "~> 5.4"])
91
91
  s.add_dependency(%q<yard>, [">= 0.8.7", "~> 0.8"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nutella_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessandro Gnoli
@@ -56,20 +56,20 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 2.0.0.rc
59
+ version: 2.0.1
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 2.0.0.rc
62
+ version: 2.0.1
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 2.0.0.rc
69
+ version: 2.0.1
70
70
  - - "~>"
71
71
  - !ruby/object:Gem::Version
72
- version: 2.0.0.rc
72
+ version: 2.0.1
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: shoulda
75
75
  requirement: !ruby/object:Gem::Requirement