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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2bb26880801c34a293766aaf37bd27ad40efa2c
4
- data.tar.gz: 490e3a0661fa27166eebb82d77a8cdcb525e0254
3
+ metadata.gz: 86bde5a369f2d808d30a1f8934ea12edd55352ff
4
+ data.tar.gz: fcea0d03dcdede5e2a60e95382c5a10f23864cee
5
5
  SHA512:
6
- metadata.gz: a8e32b336468045bc1439503367e3fb5fcb82cf5a550d7180996d963aeb825e24314e29290505357ad94bc3883d241a2fe95d8af76ee6b92b0612d474efb0190
7
- data.tar.gz: dc892b9bf1fc5ae2126dca4306edef5129fa0a5154dbcaa450647c9c9b84f2397083c6cd4dce1246358efa88bf0944dcc463714fe16fc9f3363b8bd72e734ce7
6
+ metadata.gz: ea430829a9fb735dcb8575ee5fa3be1e00645491042895f4a2086d4304c6d331b448f9a69f4bd542690f946f2b69e0a54c1e7f4c021ae6ff3ed927769e4592b2
7
+ data.tar.gz: 26980140de874d9090eca6b9564913d97a97077b47b1080798ab43caced0d0ed29fd0b3cdd44be3f58eb347ba3badda04b3c8d615fae76991032e7429975cb19
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -6,106 +6,88 @@
6
6
  require 'logger'
7
7
  require 'polyrex'
8
8
  require 'spstrigger_execute'
9
- require 'websocket-eventmachine-client'
9
+ require 'sps-sub'
10
10
 
11
11
 
12
12
  class SPSClientM2M
13
13
 
14
- def initialize(rsc, reg, sps_keywords_url, px_url, logfile: nil, \
15
- sps: {host: 'sps', port: '59000'})
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" % [sps[:host], sps[:port]]
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 sps_keywords_url, reg, px, logfile: 'ste.log'
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
- EM.run do
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
- log 'msg : ' + msg.inspect
45
- topic, raw_message = msg.split(/\s*:\s*/,2)
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
- a = ste.mae topic, raw_message
50
- log 'a: ' + a.inspect
41
+ a = ste.mae topic, raw_message
42
+ log 'a: ' + a.inspect
51
43
 
52
- # obj is the DRb object, r is the result from find_match,
53
- # a is the Dynarex lookup array, ws is the websocket.
44
+ # obj is the DRb object, r is the result from find_match,
45
+ # a is the Dynarex lookup array
54
46
 
55
- if a.length > 0 then
56
-
57
- h = {
47
+ if a.length > 0 then
48
+
49
+ h = {
50
+
51
+ rse: ->(x, rsc){
58
52
 
59
- rse: ->(x){
53
+ job = x.shift[/\/\/job:(.*)/,1]
54
+ package_path = x.shift
55
+ package = package_path[/([^\/]+)\.rsf$/,1]
60
56
 
61
- job = x.shift[/\/\/job:(.*)/,1]
62
- package_path = x.shift
63
- package = package_path[/([^\/]+)\.rsf$/,1]
64
-
65
- log "job: %s path: %s package: %s" % [job, package_path, package]
66
- rsc.run_job package, job, {}, args=x, package_path: package_path
67
- },
68
- sps: ->(x){ ws.send x },
69
- ste: ->(x){ ste.run x }
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
- EM.defer do
69
+ a.each do |type, x|
75
70
 
76
- a.each do |type, x|
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
- end
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.2.1
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: 2016-04-27 00:00:00.000000000 Z
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.0'
42
+ version: '1.1'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 1.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.0'
52
+ version: '1.1'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.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: websocket-eventmachine-client
77
+ name: sps-sub
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.0'
82
+ version: '0.3'
83
83
  - - ">="
84
84
  - !ruby/object:Gem::Version
85
- version: 1.1.0
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: '1.0'
92
+ version: '0.3'
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: 1.1.0
95
+ version: 0.3.4
96
96
  description:
97
- email: james@r0bertson.co.uk
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.4.8
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