spsclient_m2m 0.2.1 → 0.3.0

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: 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