ruby_rabbitmq_janus 3.0.0.pre.351 → 3.0.0.pre.352
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rrj/errors/error.rb +2 -1
- data/lib/rrj/errors/process/event.rb +6 -8
- data/lib/rrj/errors/process/event_admin.rb +6 -8
- data/lib/rrj/janus/responses/error.rb +2 -2
- data/lib/rrj/process/event.rb +7 -1
- data/lib/rrj/process/event_admin.rb +7 -1
- data/spec/ruby_rabbitmq_janus/process/concurrencies/concurrency_spec.rb +2 -1
- data/spec/ruby_rabbitmq_janus/process/concurrencies/event_admin_spec.rb +12 -0
- data/spec/ruby_rabbitmq_janus/process/concurrencies/event_spec.rb +12 -0
- data/spec/support/examples_thread.rb +27 -0
- metadata +4 -2
- data/lib/rrj/errors/process/concurency.rb +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9410fdf3db086fdaf0c7abd7c822612977718f0d2059869ec0bfd5522e30dacf
|
4
|
+
data.tar.gz: dfe4addba32bc68b336cb4db8177a791589cde45ed73d78799fc7d298ef129a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99ea49a811322ecc33e84b2f7fc03bc181b9b515520debbceaf922b59fc0007073ae571f4fb1e9004052c04596606efabacbfdda8a7157bbf411d8ca8f1b7900
|
7
|
+
data.tar.gz: 2ca3d7bc242cb865bc397f21d43be8504af0b2e40cb9c77907f4120867a2b10adc8fa9ada6d3b5714b9f4c33d41d871d1bc12cb9a92010731a9dbd47909b0c2b
|
data/lib/rrj/errors/error.rb
CHANGED
@@ -36,6 +36,7 @@ end
|
|
36
36
|
|
37
37
|
require 'rrj/errors/base/base'
|
38
38
|
require 'rrj/errors/janus/janus'
|
39
|
-
require 'rrj/errors/process/
|
39
|
+
require 'rrj/errors/process/event'
|
40
|
+
require 'rrj/errors/process/event_admin'
|
40
41
|
require 'rrj/errors/tools/tools'
|
41
42
|
require 'rrj/errors/rabbit/rabbit'
|
@@ -4,17 +4,15 @@ module RubyRabbitmqJanus
|
|
4
4
|
module Errors
|
5
5
|
module Process
|
6
6
|
module Event
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
super 'Event', 'Error Event initializer'
|
7
|
+
class Base < RubyRabbitmqJanus::Errors::RRJError
|
8
|
+
def initialize(klass, message, level = :warn)
|
9
|
+
super "[Concurrency][#{klass}] #{message}", level
|
11
10
|
end
|
12
11
|
end
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
super 'Event', 'Error Event runner block code'
|
13
|
+
class Run < Base
|
14
|
+
def initialize
|
15
|
+
super 'Event', 'Failed start thread listener public queue !'
|
18
16
|
end
|
19
17
|
end
|
20
18
|
end
|
@@ -4,17 +4,15 @@ module RubyRabbitmqJanus
|
|
4
4
|
module Errors
|
5
5
|
module Process
|
6
6
|
module EventAdmin
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
super 'EventAdmin', 'Error EventAdmin initializer'
|
7
|
+
class Base < RubyRabbitmqJanus::Errors::RRJError
|
8
|
+
def initialize(klass, message, level = :warn)
|
9
|
+
super "[Concurrency][#{klass}] #{message}", level
|
11
10
|
end
|
12
11
|
end
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
super 'EventAdmin', 'Error EventAdmin runner block code'
|
13
|
+
class Run < Base
|
14
|
+
def initialize
|
15
|
+
super 'EventAdmin', 'Failed start thread listener public queue !'
|
18
16
|
end
|
19
17
|
end
|
20
18
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# rubocop:disable
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
4
|
|
5
5
|
module RubyRabbitmqJanus
|
6
6
|
module Janus
|
@@ -156,4 +156,4 @@ module RubyRabbitmqJanus
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
end
|
159
|
-
# rubocop:enable
|
159
|
+
# rubocop:enable Layout/LineLength
|
data/lib/rrj/process/event.rb
CHANGED
@@ -27,6 +27,9 @@ module RubyRabbitmqJanus
|
|
27
27
|
#
|
28
28
|
# @return [Thread] It's a thread who listen queue and execute action
|
29
29
|
def run(&block)
|
30
|
+
raise RubyRabbitmqJanus::Errors::Process::Event::Run \
|
31
|
+
unless block_given?
|
32
|
+
|
30
33
|
@thread.join
|
31
34
|
Thread.new do
|
32
35
|
loop do
|
@@ -37,8 +40,11 @@ module RubyRabbitmqJanus
|
|
37
40
|
|
38
41
|
private
|
39
42
|
|
43
|
+
def publisher
|
44
|
+
Rabbit::Listener::From.new(rabbit)
|
45
|
+
end
|
46
|
+
|
40
47
|
def transaction_running
|
41
|
-
publisher = Rabbit::Listener::From.new(rabbit)
|
42
48
|
@thread.thread_variable_set(NAME_VAR, publisher)
|
43
49
|
end
|
44
50
|
end
|
@@ -27,6 +27,9 @@ module RubyRabbitmqJanus
|
|
27
27
|
#
|
28
28
|
# @return [Thread] It's a thread who listen queue and execute action
|
29
29
|
def run(&block)
|
30
|
+
raise RubyRabbitmqJanus::Errors::Process::EventAdmin::Run \
|
31
|
+
unless block_given?
|
32
|
+
|
30
33
|
@thread.join
|
31
34
|
Thread.new do
|
32
35
|
loop do
|
@@ -37,8 +40,11 @@ module RubyRabbitmqJanus
|
|
37
40
|
|
38
41
|
private
|
39
42
|
|
43
|
+
def publisher
|
44
|
+
Rabbit::Listener::FromAdmin.new(rabbit)
|
45
|
+
end
|
46
|
+
|
40
47
|
def transaction_running
|
41
|
-
publisher = Rabbit::Listener::FromAdmin.new(rabbit)
|
42
48
|
@thread.thread_variable_set(NAME_VAR, publisher)
|
43
49
|
end
|
44
50
|
end
|
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
describe RubyRabbitmqJanus::Process::Concurrencies::Concurrency, type: :thread,
|
5
|
+
describe RubyRabbitmqJanus::Process::Concurrencies::Concurrency, type: :thread,
|
6
|
+
name: :concurrency do
|
6
7
|
let(:concurrency) { described_class.new }
|
7
8
|
|
8
9
|
it { expect(concurrency.send(:rabbit)).to be_a(RubyRabbitmqJanus::Rabbit::Connect) }
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe RubyRabbitmqJanus::Process::Concurrencies::EventAdmin, type: :thread,
|
6
|
+
name: :event_admin do
|
7
|
+
let(:publish_name) { :publish_adm }
|
8
|
+
let(:listener) { RubyRabbitmqJanus::Rabbit::Listener::FromAdmin }
|
9
|
+
let(:exception_runner) { RubyRabbitmqJanus::Errors::Process::EventAdmin::Run }
|
10
|
+
|
11
|
+
include_examples 'when thread'
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe RubyRabbitmqJanus::Process::Concurrencies::Event, type: :thread,
|
6
|
+
name: :event do
|
7
|
+
let(:publish_name) { :publish }
|
8
|
+
let(:listener) { RubyRabbitmqJanus::Rabbit::Listener::From }
|
9
|
+
let(:exception_runner) { RubyRabbitmqJanus::Errors::Process::Event::Run }
|
10
|
+
|
11
|
+
include_examples 'when thread'
|
12
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
shared_examples 'when thread' do
|
4
|
+
let(:concurrency) { described_class }
|
5
|
+
let(:event) { concurrency.new }
|
6
|
+
let(:action) { EventTest.new.actions }
|
7
|
+
let(:size) { (rand * 10).to_i }
|
8
|
+
|
9
|
+
it { expect(concurrency::NAME_VAR).to be_a(Symbol) }
|
10
|
+
it { expect(concurrency::NAME_VAR).to eql(publish_name) }
|
11
|
+
it { expect(action).not_to be(nil) }
|
12
|
+
it { expect { event.run(&action) }.not_to raise_error(exception_runner) }
|
13
|
+
it { expect { event.run }.to raise_error(exception_runner) }
|
14
|
+
|
15
|
+
it do
|
16
|
+
ee = event
|
17
|
+
|
18
|
+
ee.run(&action)
|
19
|
+
expect(ee.send(:publisher)).to be_a(listener)
|
20
|
+
end
|
21
|
+
|
22
|
+
it do
|
23
|
+
(1..size).each { event.run(&action) }
|
24
|
+
|
25
|
+
expect(Thread.list.count { |thread| thread.status.eql?('run') }).to eql(size + 1)
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_rabbitmq_janus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.pre.
|
4
|
+
version: 3.0.0.pre.352
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VAILLANT Jeremy
|
@@ -467,7 +467,6 @@ files:
|
|
467
467
|
- lib/rrj/errors/janus/transactions/handle.rb
|
468
468
|
- lib/rrj/errors/janus/transactions/session.rb
|
469
469
|
- lib/rrj/errors/janus/transactions/transaction.rb
|
470
|
-
- lib/rrj/errors/process/concurency.rb
|
471
470
|
- lib/rrj/errors/process/event.rb
|
472
471
|
- lib/rrj/errors/process/event_admin.rb
|
473
472
|
- lib/rrj/errors/rabbit/base_event.rb
|
@@ -589,6 +588,8 @@ files:
|
|
589
588
|
- spec/ruby_rabbitmq_janus/models/janus_instance_definition_spec.rb
|
590
589
|
- spec/ruby_rabbitmq_janus/models/janus_instance_spec.rb
|
591
590
|
- spec/ruby_rabbitmq_janus/process/concurrencies/concurrency_spec.rb
|
591
|
+
- spec/ruby_rabbitmq_janus/process/concurrencies/event_admin_spec.rb
|
592
|
+
- spec/ruby_rabbitmq_janus/process/concurrencies/event_spec.rb
|
592
593
|
- spec/ruby_rabbitmq_janus/rabbit/connect_spec.rb
|
593
594
|
- spec/ruby_rabbitmq_janus/rabbit/listener/from_spec.rb
|
594
595
|
- spec/ruby_rabbitmq_janus/rabbit/propertie_instance_classic_spec.rb
|
@@ -643,6 +644,7 @@ files:
|
|
643
644
|
- spec/support/examples_base.rb
|
644
645
|
- spec/support/examples_config.rb
|
645
646
|
- spec/support/examples_message.rb
|
647
|
+
- spec/support/examples_thread.rb
|
646
648
|
- spec/support/initialize_janus_instance.rb
|
647
649
|
- spec/support/schemas/config/config.json
|
648
650
|
- spec/support/schemas/config/rabbit_options_admin_instance_classic.json
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyRabbitmqJanus
|
4
|
-
module Errors
|
5
|
-
module Process
|
6
|
-
# Define a super class for all error in Process::Concurency class
|
7
|
-
class BaseConcurency < RubyRabbitmqJanus::Errors::RRJError
|
8
|
-
def initialize(message)
|
9
|
-
super "[Concurency]#{message}", :fatal
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
# Define a super class for all error in Process::Concurency::Event class
|
14
|
-
class BaseEvent < RubyRabbitmqJanus::Errors::Process::BaseConcurency
|
15
|
-
def initialize(class_name, message)
|
16
|
-
super "[#{class_name}] #{message}"
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
module Concurency
|
21
|
-
# Error for Process::Concurency#initialize
|
22
|
-
class Initializer < RubyRabbitmqJanus::Errors::Process::BaseConcurency
|
23
|
-
def initialize
|
24
|
-
super 'Error initialize concurency class'
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
require 'rrj/errors/process/event'
|
33
|
-
require 'rrj/errors/process/event_admin'
|