spsclient_m2m 0.2.1 → 0.3.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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/spsclient_m2m.rb +45 -63
- metadata +13 -13
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86bde5a369f2d808d30a1f8934ea12edd55352ff
|
4
|
+
data.tar.gz: fcea0d03dcdede5e2a60e95382c5a10f23864cee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea430829a9fb735dcb8575ee5fa3be1e00645491042895f4a2086d4304c6d331b448f9a69f4bd542690f946f2b69e0a54c1e7f4c021ae6ff3ed927769e4592b2
|
7
|
+
data.tar.gz: 26980140de874d9090eca6b9564913d97a97077b47b1080798ab43caced0d0ed29fd0b3cdd44be3f58eb347ba3badda04b3c8d615fae76991032e7429975cb19
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/spsclient_m2m.rb
CHANGED
@@ -6,106 +6,88 @@
|
|
6
6
|
require 'logger'
|
7
7
|
require 'polyrex'
|
8
8
|
require 'spstrigger_execute'
|
9
|
-
require '
|
9
|
+
require 'sps-sub'
|
10
10
|
|
11
11
|
|
12
12
|
class SPSClientM2M
|
13
13
|
|
14
|
-
def initialize(rsc, reg,
|
15
|
-
|
14
|
+
def initialize(rsc, reg, keywords, px_url, logfile: nil, \
|
15
|
+
sps_host: 'sps', sps_port: '59000', topic: '#')
|
16
16
|
|
17
17
|
@rsc = rsc
|
18
18
|
@log = Logger.new(logfile,'daily') if logfile
|
19
19
|
|
20
|
-
@sps_address = "%s:%s" % [
|
20
|
+
@sps_address = "%s:%s" % [sps_host, sps_port]
|
21
|
+
@topic = topic
|
22
|
+
|
23
|
+
@sps = SPSSub.new host: sps_host, port: sps_port
|
21
24
|
|
22
25
|
px = Polyrex.new px_url
|
23
26
|
|
24
|
-
@ste = SPSTriggerExecute.new
|
27
|
+
@ste = SPSTriggerExecute.new keywords, reg, px, logfile: 'ste.log'
|
25
28
|
|
26
29
|
end
|
27
30
|
|
28
31
|
def run()
|
29
|
-
|
32
|
+
|
30
33
|
rsc = @rsc
|
31
34
|
ste = @ste
|
32
|
-
sps_address = @sps_address
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
ws = WebSocket::EventMachine::Client.connect(:uri => 'ws://' + sps_address)
|
37
|
-
|
38
|
-
ws.onopen do
|
39
|
-
puts "Client connected"
|
40
|
-
end
|
41
|
-
|
42
|
-
ws.onmessage do |msg, type|
|
36
|
+
@sps.subscribe(topic: @topic) do |raw_message, topic|
|
43
37
|
|
44
|
-
|
45
|
-
|
46
|
-
puts "[%s] SPS M2M kywrd lstnr INFO %s: %s" % \
|
47
|
-
[Time.now.strftime("%D %H:%M"), topic, raw_message]
|
38
|
+
puts "[%s] SPS M2M kywrd lstnr INFO %s: %s" % \
|
39
|
+
[Time.now.strftime("%D %H:%M"), topic, raw_message]
|
48
40
|
|
49
|
-
|
50
|
-
|
41
|
+
a = ste.mae topic, raw_message
|
42
|
+
log 'a: ' + a.inspect
|
51
43
|
|
52
|
-
|
53
|
-
|
44
|
+
# obj is the DRb object, r is the result from find_match,
|
45
|
+
# a is the Dynarex lookup array
|
54
46
|
|
55
|
-
|
56
|
-
|
57
|
-
|
47
|
+
if a.length > 0 then
|
48
|
+
|
49
|
+
h = {
|
50
|
+
|
51
|
+
rse: ->(x, rsc){
|
58
52
|
|
59
|
-
|
53
|
+
job = x.shift[/\/\/job:(.*)/,1]
|
54
|
+
package_path = x.shift
|
55
|
+
package = package_path[/([^\/]+)\.rsf$/,1]
|
60
56
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
end
|
57
|
+
log "job: %s path: %s package: %s" % [job, package_path, package]
|
58
|
+
log 'foo: ' + rsc.r.hello
|
59
|
+
rsc.run_job package, job, {}, args=x, package_path: package_path
|
60
|
+
},
|
61
|
+
sps: ->(x, rsc){ @sps.notice x },
|
62
|
+
ste: ->(x, rsc){ log 'before ste run'; ste.run x }
|
63
|
+
}
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
EM.defer do
|
73
68
|
|
74
|
-
|
69
|
+
a.each do |type, x|
|
75
70
|
|
76
|
-
|
71
|
+
Thread.new do
|
77
72
|
|
78
73
|
begin
|
79
|
-
h[type].call x
|
74
|
+
h[type].call x, rsc
|
80
75
|
rescue
|
81
76
|
warning = 'SPSClientM2M warning: ' + ($!).inspect
|
82
77
|
puts warning
|
83
78
|
log warning
|
84
79
|
end
|
85
80
|
|
86
|
-
end
|
81
|
+
end # /thread
|
87
82
|
|
88
|
-
end
|
89
|
-
|
90
|
-
|
91
|
-
ws.onclose do
|
92
|
-
puts "Client disconnected"
|
93
|
-
end
|
94
|
-
|
95
|
-
EventMachine.next_tick do
|
96
|
-
ws.send 'subscribe to topic: #'
|
97
|
-
ws.send 'rse_info: spsclient_m2m connected'
|
98
|
-
end
|
99
|
-
|
100
|
-
EventMachine.error_handler{ |e|
|
101
|
-
puts "Error raised during event loop: #{e.message}"
|
83
|
+
end # /each
|
84
|
+
|
85
|
+
end
|
102
86
|
|
103
|
-
|
104
|
-
|
105
|
-
end
|
106
|
-
|
87
|
+
end
|
88
|
+
|
107
89
|
end
|
108
|
-
|
90
|
+
|
109
91
|
private
|
110
92
|
|
111
93
|
def log(s)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spsclient_m2m
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
9PUm89FQvfRnzWxLuS4+ZXMo8Zo4MQHDdOuNAQpSDGVy1GIHrNU04foP5Bd86hc0
|
32
32
|
78GKZWkTxeiOTA==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date:
|
34
|
+
date: 2017-04-16 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: polyrex
|
@@ -39,20 +39,20 @@ dependencies:
|
|
39
39
|
requirements:
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '1.
|
42
|
+
version: '1.1'
|
43
43
|
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 1.1.
|
45
|
+
version: 1.1.12
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
48
|
version_requirements: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
50
50
|
- - "~>"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '1.
|
52
|
+
version: '1.1'
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 1.1.
|
55
|
+
version: 1.1.12
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: spstrigger_execute
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,27 +74,27 @@ dependencies:
|
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.4.6
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
77
|
+
name: sps-sub
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '0.3'
|
83
83
|
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
85
|
+
version: 0.3.4
|
86
86
|
type: :runtime
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
90
|
- - "~>"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
92
|
+
version: '0.3'
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
95
|
+
version: 0.3.4
|
96
96
|
description:
|
97
|
-
email: james@
|
97
|
+
email: james@jamesrobertson.eu
|
98
98
|
executables: []
|
99
99
|
extensions: []
|
100
100
|
extra_rdoc_files: []
|
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
122
|
rubyforge_project:
|
123
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.6.8
|
124
124
|
signing_key:
|
125
125
|
specification_version: 4
|
126
126
|
summary: The SPSClient_M2M gem is designed to run as a service with the RSF_Services
|
metadata.gz.sig
CHANGED
Binary file
|