ruby_rabbitmq_janus 2.6.0.pre.244 → 2.6.0.pre.246

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
  SHA256:
3
- metadata.gz: 6cb3089fb50dc4ce5729eba2c73dbc968b6ede2bf408b42bfca23f01d600e244
4
- data.tar.gz: c11c4c29bcc1a381ec2f7ddb32bbfa9f2981306c173996c3d2ee3a2f6f6e8388
3
+ metadata.gz: 91b38bd476021288dadfc1a47a4c2226d5690544b9993542944dd1f9f18759c7
4
+ data.tar.gz: 68afeed194a61a7a0fc43398cf798bc95f59041fad368de7f54cbab9535310fe
5
5
  SHA512:
6
- metadata.gz: e5cdf174fae030439acf0d96d207dac5b05ac3210bd98d8e00dd502a88940d7817ea119f8c193aeb8107a0dd73fe2bf583b1af34c710e2300ddf886b21f4018f
7
- data.tar.gz: 1534b1922a5ce801940d430002c32adb56e3e3d31d469145a27ea849c343c72cf133a63b7303e0bb2a2fe2023ab0da4c886244361b9020c34308289a5a2dca75
6
+ metadata.gz: a7eade36b3abe79be1d5f56dc19328b86c01fd8b156285819aeaab34e1d3a7dd822fad37ec741face0c5974fe2426ced0d02c9c694e5be399d16a20d9bed6876
7
+ data.tar.gz: 795ee29c47503a800ab093cf1d51852a897f326066be3ace3c3e9803b6b02b37b848b1a74948bf5b5833ea10fd78207ee839360e77a89a3e23b0a6cca55c8f64
@@ -12,7 +12,6 @@ module RubyRabbitmqJanus
12
12
  # @param [String] rabbit Information connection to rabbitmq server
13
13
  def initialize(rabbit)
14
14
  super()
15
- @responses = []
16
15
  @rabbit = rabbit.channel
17
16
  subscribe_queue
18
17
  rescue
@@ -24,7 +23,7 @@ module RubyRabbitmqJanus
24
23
  semaphore.wait
25
24
  response = nil
26
25
  lock.synchronize do
27
- response = @responses.shift
26
+ response = responses.shift
28
27
  end
29
28
  yield response.event, response
30
29
  rescue => exception
@@ -34,6 +33,8 @@ module RubyRabbitmqJanus
34
33
 
35
34
  private
36
35
 
36
+ attr_accessor :rabbit, :responses
37
+
37
38
  def binding
38
39
  @rabbit.direct('amq.direct')
39
40
  end
@@ -48,15 +49,6 @@ module RubyRabbitmqJanus
48
49
  Tools::Log.instance.info "[X] Message reading with ID #{message_id}"
49
50
  end
50
51
 
51
- # Sending an signal when an response is reading in queue
52
- def synchronize_response(info, payload)
53
- lock.synchronize do
54
- @responses.push(Janus::Responses::Event.new(JSON.parse(payload)))
55
- end
56
- @rabbit.acknowledge(info.delivery_tag, false)
57
- semaphore.signal
58
- end
59
-
60
52
  def info_subscribe(info, prop, payload)
61
53
  Tools::Log.instance.debug info
62
54
  Tools::Log.instance.info \
@@ -15,8 +15,8 @@ module RubyRabbitmqJanus
15
15
  private
16
16
 
17
17
  def subscribe_queue
18
- reply = @rabbit.queue(Tools::Config.instance.queue_from)
19
- @rabbit.prefetch(1)
18
+ reply = rabbit.queue(Tools::Config.instance.queue_from)
19
+ rabbit.prefetch(1)
20
20
  reply.bind(binding).subscribe(opts_subs) do |info, prop, payload|
21
21
  info_subscribe(info, prop, payload)
22
22
  synchronize_response(info, payload)
@@ -25,6 +25,15 @@ module RubyRabbitmqJanus
25
25
  raise RubyRabbitmqJanus::Errors::Rabbit::Listener::From::ListenEvents,
26
26
  exception
27
27
  end
28
+
29
+ def synchronize_response(info, payload)
30
+ lock.synchronize do
31
+ response = Janus::Responses::Event.new(JSON.parse(payload))
32
+ responses.push(response)
33
+ end
34
+ rabbit.acknowledge(info.delivery_tag, false)
35
+ semaphore.signal
36
+ end
28
37
  end
29
38
  end
30
39
  end
@@ -10,8 +10,8 @@ module RubyRabbitmqJanus
10
10
  private
11
11
 
12
12
  def subscribe_queue
13
- reply = @rabbit.queue(Tools::Config.instance.queue_admin_from)
14
- @rabbit.prefetch(1)
13
+ reply = rabbit.queue(Tools::Config.instance.queue_admin_from)
14
+ rabbit.prefetch(1)
15
15
  reply.bind(binding).subscribe(opts_subs) do |info, prop, payload|
16
16
  info_subscribe(info, prop, payload)
17
17
  synchronize_response(info, payload)
@@ -20,6 +20,14 @@ module RubyRabbitmqJanus
20
20
  raise RubyRabbitmqJanus::Errors::Rabbit::Listener::From::ListenEvents,
21
21
  exception
22
22
  end
23
+
24
+ def synchronize_response(info, payload)
25
+ lock.synchronize do
26
+ @responses.push(Janus::Responses::Admin.new(JSON.parse(payload)))
27
+ end
28
+ rabbit.acknowledge(info.delivery_tag, false)
29
+ semaphore.signal
30
+ end
23
31
  end
24
32
  end
25
33
  end
@@ -8,12 +8,12 @@ module RubyRabbitmqJanus
8
8
  # :reek:InstanceVariableAssumption
9
9
 
10
10
  # Listener to admin queue
11
- class JanusInstance < From
11
+ class JanusInstance < Base
12
12
  private
13
13
 
14
14
  def subscribe_queue
15
- reply = @rabbit.queue(Tools::Config.instance.queue_janus_instance)
16
- @rabbit.prefetch(1)
15
+ reply = rabbit.queue(Tools::Config.instance.queue_janus_instance)
16
+ rabbit.prefetch(1)
17
17
  reply.bind(binding).subscribe(opts_subs) do |info, prop, payload|
18
18
  info_subscribe(info, prop, payload)
19
19
  synchronize_response(info, payload)
@@ -27,9 +27,9 @@ module RubyRabbitmqJanus
27
27
  def synchronize_response(info, payload)
28
28
  lock.synchronize do
29
29
  response = Janus::Responses::JanusInstance.new(JSON.parse(payload))
30
- @responses.push(response)
30
+ responses.push(response)
31
31
  end
32
- @rabbit.acknowledge(info.delivery_tag, false)
32
+ rabbit.acknowledge(info.delivery_tag, false)
33
33
  semaphore.signal
34
34
  end
35
35
  end
@@ -2,10 +2,18 @@
2
2
 
3
3
  # Load environment variables for execute correctly `Binary` class
4
4
 
5
- ENVIRONMENT = ENV['RAILS_ENV']
6
- ORM = ENV['ORM']
7
- LISTENER_PATH = ENV['LISTENER_PATH']
8
- PROGRAM = ENV['PROGRAM_NAME']
5
+ def blank?(value)
6
+ value.eql?('') || value.nil?
7
+ end
8
+
9
+ def check_variable(name)
10
+ blank?(ENV[name]) ? raise(NameError) : ENV[name]
11
+ end
12
+
13
+ ENVIRONMENT = check_variable('RAILS_ENV')
14
+ ORM = check_variable('ORM')
15
+ LISTENER_PATH = check_variable('LISTENER_PATH')
16
+ PROGRAM = check_variable('PROGRAM_NAME')
9
17
 
10
18
  @verbose = false
11
19
  @logger_class = true
@@ -21,7 +21,21 @@ Log.info RubyRabbitmqJanus::BANNER
21
21
  require File.join(File.dirname(__FILE__), '..', '..', 'binary')
22
22
 
23
23
  begin
24
+ Log.info 'Load events public queue classes'
24
25
  bin = RubyRabbitmqJanus::Binary.new
26
+ Log.info "Load file : #{File.join(Dir.pwd, LISTENER_PATH)}"
27
+ require File.join(Dir.pwd, LISTENER_PATH)
28
+
29
+ Log.info 'Listen public queue in thread'
30
+ actions = RubyRabbitmqJanus::ActionEvents.new.actions
31
+ RubyRabbitmqJanus::Janus::Concurrencies::Event.instance.run(&actions)
32
+ rescue => exception
33
+ Log.fatal '!! Fail to start RRJ Thread listen public queue !!'
34
+ Log.fatal exception
35
+ exit 1
36
+ end
37
+
38
+ begin
25
39
  Log.info \
26
40
  'Prepare to listen events in queue : ' + \
27
41
  RubyRabbitmqJanus::Tools::Config.instance.queue_janus_instance
@@ -37,7 +51,7 @@ begin
37
51
  end
38
52
  end
39
53
  rescue => exception
40
- Log.fatal '!! Fail to start RRJ threads !!'
54
+ Log.fatal '!! Fail to start RRJ Thread Janus Instance management !!'
41
55
  Log.fatal exception
42
56
  exit 1
43
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_rabbitmq_janus
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0.pre.244
4
+ version: 2.6.0.pre.246
5
5
  platform: ruby
6
6
  authors:
7
7
  - VAILLANT Jeremy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-19 00:00:00.000000000 Z
11
+ date: 2019-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord