slnky 0.12.4 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/slnky.rb +4 -2
- data/lib/slnky/brain.rb +71 -0
- data/lib/slnky/command/response.rb +0 -1
- data/lib/slnky/service.rb +2 -5
- data/lib/slnky/version.rb +1 -1
- data/slnky.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3c1ed8013e3e37e78007da5f7ea94fb8a184e38
|
4
|
+
data.tar.gz: 116c7139be8b7476587bd148cddf676960f1c71d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5566ee1d01a4abec62e40070e9597241623a37308a3970a865af544d13e5e00a5be37167989f2a214963640427055824c6a43f9d42a2ad8a3cc7ff9a33804b31
|
7
|
+
data.tar.gz: eda9b8ba0146900f2463c34aed0e05ba3279047fdf7085b57e39b1a49450dee4530d4b6685d1f9a65d403045e9b10361b78742f8727f95a7c223901484297107
|
data/lib/slnky.rb
CHANGED
@@ -9,6 +9,7 @@ require 'slnky/config'
|
|
9
9
|
require 'slnky/log'
|
10
10
|
require 'slnky/system'
|
11
11
|
require 'slnky/message'
|
12
|
+
require 'slnky/brain'
|
12
13
|
require 'slnky/transport'
|
13
14
|
require 'slnky/service'
|
14
15
|
require 'slnky/client'
|
@@ -21,8 +22,9 @@ module Slnky
|
|
21
22
|
end
|
22
23
|
|
23
24
|
def heartbeat(name)
|
24
|
-
server = ENV['SLNKY_URL'] || Slnky.config.url
|
25
|
-
RestClient.post "#{server}/hooks/heartbeat", {name: name}, content_type: :json, accept: :json
|
25
|
+
# server = ENV['SLNKY_URL'] || Slnky.config.url
|
26
|
+
# RestClient.post "#{server}/hooks/heartbeat", {name: name}, content_type: :json, accept: :json
|
27
|
+
Slnky.brain.hset(:heartbeat, name, Time.now.to_i)
|
26
28
|
end
|
27
29
|
|
28
30
|
def notify(msg)
|
data/lib/slnky/brain.rb
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'redis'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module Slnky
|
5
|
+
class << self
|
6
|
+
def brain
|
7
|
+
Slnky::Brain::Base.instance
|
8
|
+
end
|
9
|
+
end
|
10
|
+
module Brain
|
11
|
+
class Base
|
12
|
+
class << self
|
13
|
+
def instance
|
14
|
+
@brain ||= self.new(Slnky.config.redis.to_h)
|
15
|
+
end
|
16
|
+
|
17
|
+
def connect(config)
|
18
|
+
@brain = self.new(config)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def initialize(redis={})
|
23
|
+
@options = {
|
24
|
+
host: '127.0.0.1',
|
25
|
+
port: 6379,
|
26
|
+
user: nil,
|
27
|
+
pass: nil,
|
28
|
+
db: '15'
|
29
|
+
}
|
30
|
+
@options.merge!(redis) if redis
|
31
|
+
userpass = @options[:user] ? "#{@options[:user]}:#{@options[:pass]}" : ''
|
32
|
+
@redis = Redis.new(url: "redis://#{userpass}#{@options[:host]}:#{@options[:port]}/#{@options[:db]}")
|
33
|
+
end
|
34
|
+
|
35
|
+
# def keys(pattern='*')
|
36
|
+
# @redis.keys(pattern)
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# def set(key, value)
|
40
|
+
# @redis.set key, value.is_a?(String) ? value : value.to_json
|
41
|
+
# end
|
42
|
+
#
|
43
|
+
# def get(key)
|
44
|
+
# val = @redis.get key
|
45
|
+
# begin
|
46
|
+
# JSON.parse(val)
|
47
|
+
# rescue
|
48
|
+
# val
|
49
|
+
# end
|
50
|
+
# end
|
51
|
+
|
52
|
+
def hset(key, field, value)
|
53
|
+
@redis.hset("slnky.#{key}", field, value.is_a?(String) ? value : value.to_json)
|
54
|
+
end
|
55
|
+
|
56
|
+
def hget(key, field)
|
57
|
+
val = @redis.hget("slnky.#{key}", field)
|
58
|
+
begin
|
59
|
+
JSON.parse(val)
|
60
|
+
rescue
|
61
|
+
val
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def hgetall(key)
|
66
|
+
keys = @redis.hkeys("slnky.#{key}")
|
67
|
+
keys.inject({}) {|h, e| h[e] = hget(key, e); h}
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/slnky/service.rb
CHANGED
@@ -24,7 +24,7 @@ module Slnky
|
|
24
24
|
subscriber.add "slnky.#{name}.command", :handle_command
|
25
25
|
subscriber.add "slnky.help.command", :handle_command
|
26
26
|
subscriber.add "slnky.service.restart", :handle_restart
|
27
|
-
timers.add 5.seconds, :handle_heartbeat unless config.development?
|
27
|
+
timers.add 5.seconds, :handle_heartbeat # unless config.development?
|
28
28
|
|
29
29
|
subscriber.each do |name, method|
|
30
30
|
log.info "subscribed to: #{name} -> #{self.class.name}.#{method}"
|
@@ -47,11 +47,8 @@ module Slnky
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def handle_heartbeat
|
50
|
-
|
50
|
+
# log.debug "heartbeat #{name}"
|
51
51
|
Slnky.heartbeat(name)
|
52
|
-
rescue => e
|
53
|
-
log.info "could not post heartbeat, server down? #{e.message}"
|
54
|
-
@server_down = true
|
55
52
|
end
|
56
53
|
|
57
54
|
def subscriber
|
data/lib/slnky/version.rb
CHANGED
data/slnky.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slnky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shawn Catanzarite
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -192,6 +192,20 @@ dependencies:
|
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: 0.7.7
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: redis
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - "~>"
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '3.2'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - "~>"
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '3.2'
|
195
209
|
description: core slnky lib and command line
|
196
210
|
email:
|
197
211
|
- me@shawncatz.com
|
@@ -216,6 +230,7 @@ files:
|
|
216
230
|
- lib/capistrano/slnky/templates/upstart.conf.erb
|
217
231
|
- lib/capistrano/tasks/slnky.rake
|
218
232
|
- lib/slnky.rb
|
233
|
+
- lib/slnky/brain.rb
|
219
234
|
- lib/slnky/cli.rb
|
220
235
|
- lib/slnky/cli/command.rb
|
221
236
|
- lib/slnky/cli/generate.rb
|