ruby_rabbitmq_janus 2.7.1 → 2.7.2.pre.284
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/default.md +0 -1
- data/config/default.yml +0 -2
- data/lib/rrj/binary.rb +0 -5
- data/lib/rrj/errors/error.rb +1 -0
- data/lib/rrj/errors/janus/janus.rb +0 -2
- data/lib/rrj/errors/{janus/processus → process}/concurency.rb +6 -6
- data/lib/rrj/errors/process/event.rb +30 -0
- data/lib/rrj/errors/{janus/processus → process}/keepalive/initializer.rb +8 -8
- data/lib/rrj/errors/{janus/processus → process}/keepalive/thread.rb +8 -8
- data/lib/rrj/errors/{janus/processus → process}/keepalive/timer.rb +6 -6
- data/lib/rrj/errors/process/keepalive.rb +21 -0
- data/lib/rrj/info.rb +1 -1
- data/lib/rrj/janus/janus.rb +0 -1
- data/lib/rrj/models/active_record.rb +5 -3
- data/lib/rrj/models/concerns/{janus_instance_callbacks.rb → callbacks.rb} +14 -5
- data/lib/rrj/models/concerns/{janus_instance_methods.rb → instances.rb} +3 -29
- data/lib/rrj/models/concerns/methods.rb +36 -0
- data/lib/rrj/models/concerns/{janus_instance_validations.rb → validations.rb} +2 -2
- data/lib/rrj/models/mongoid.rb +5 -3
- data/lib/rrj/{janus/processus → process}/concurrency.rb +6 -6
- data/lib/rrj/{janus/processus → process}/event.rb +3 -3
- data/lib/rrj/{janus/processus → process}/event_admin.rb +1 -1
- data/lib/rrj/{janus/processus → process}/keepalive/keepalive_initializer.rb +8 -8
- data/lib/rrj/{janus/processus → process}/keepalive/keepalive_message.rb +1 -1
- data/lib/rrj/{janus/processus → process}/keepalive/keepalive_thread.rb +7 -7
- data/lib/rrj/{janus/processus → process}/keepalive/keepalive_timer.rb +5 -5
- data/lib/rrj/rabbit/listener/base.rb +4 -11
- data/lib/rrj/rails.rb +1 -1
- data/lib/rrj/tools/bin/model.rb +0 -1
- data/lib/rrj/tools/gem/config/gem.rb +3 -1
- data/lib/rrj/tools/gem/config.rb +10 -4
- data/lib/rrj/tools/gem/log.rb +2 -1
- data/lib/rrj/tools/gem/option.rb +0 -9
- data/lib/ruby_rabbitmq_janus.rb +3 -0
- data/spec/config/initializer.rb +1 -1
- data/spec/factories/janus_instance.rb +1 -1
- data/spec/ruby_rabbitmq_janus/models/janus_instance_definition_spec.rb +6 -8
- data/spec/ruby_rabbitmq_janus/models/janus_instance_spec.rb +4 -4
- data/spec/ruby_rabbitmq_janus/{janus → process}/concurrencies/concurrency_spec.rb +1 -1
- data/spec/ruby_rabbitmq_janus/{janus → process}/concurrencies/keepalive_initializer_spec.rb +2 -2
- data/spec/ruby_rabbitmq_janus/{janus → process}/concurrencies/keepalive_thread_spec.rb +4 -4
- data/spec/ruby_rabbitmq_janus/{janus → process}/concurrencies/keepalive_timer_spec.rb +1 -1
- data/spec/spec_helper.rb +8 -10
- metadata +34 -41
- data/lib/rrj/errors/janus/processus/event.rb +0 -30
- data/lib/rrj/errors/janus/processus/keepalive.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd2fc20cfe4b8b6b6ed2c6cf7cbb78c40f71f7c2055e8b1d4eb2561fcfcf9b66
|
4
|
+
data.tar.gz: edf8c880d0b7e21bb880d7244d2f6a0cf645ee57c2fd68ff1c8fcbe5bbbe567c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6337c0b68cb0fa09a475e4f0619dc964c52b03876b89275d18f7d55f670e6aaf6ecd86f78855d675f53185f7fa21c2022b810d62cddb3b936c4af19377883cdb
|
7
|
+
data.tar.gz: 2ff204e553fdea0d98d2119e616cba6ff4f1271c229f1af78e63e3f6d966a499a8f0ad0c38d712ee1de6ce75d949933953cea17b00cb0d269949b09ad46ceb62
|
data/config/default.md
CHANGED
data/config/default.yml
CHANGED
data/lib/rrj/binary.rb
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'rrj/models/concerns/janus_instance_callbacks'
|
4
|
-
require 'rrj/models/concerns/janus_instance_methods'
|
5
|
-
require 'rrj/models/concerns/janus_instance_validations'
|
6
|
-
require "rrj/models/#{RubyRabbitmqJanus::Tools::Config.instance.orm}"
|
7
|
-
|
8
3
|
module RubyRabbitmqJanus
|
9
4
|
# :reek:InstanceVariableAssumption
|
10
5
|
|
data/lib/rrj/errors/error.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
module RubyRabbitmqJanus
|
4
4
|
module Errors
|
5
|
-
module
|
6
|
-
# Define a super class for all error in
|
5
|
+
module Process
|
6
|
+
# Define a super class for all error in Process::Concurency class
|
7
7
|
class BaseConcurency < RubyRabbitmqJanus::Errors::BaseJanus
|
8
8
|
def initialize(message)
|
9
9
|
super "[Concurency]#{message}", :fatal
|
@@ -11,8 +11,8 @@ module RubyRabbitmqJanus
|
|
11
11
|
end
|
12
12
|
|
13
13
|
module Concurency
|
14
|
-
# Error for
|
15
|
-
class Initializer < RubyRabbitmqJanus::Errors::
|
14
|
+
# Error for Process::Concurency#initialize
|
15
|
+
class Initializer < RubyRabbitmqJanus::Errors::Process::BaseConcurency
|
16
16
|
def initialize
|
17
17
|
super 'Error initialize concurency class'
|
18
18
|
end
|
@@ -22,5 +22,5 @@ module RubyRabbitmqJanus
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
require 'rrj/errors/
|
26
|
-
require 'rrj/errors/
|
25
|
+
require 'rrj/errors/process/keepalive'
|
26
|
+
require 'rrj/errors/process/event'
|
@@ -0,0 +1,30 @@
|
|
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::Event class
|
7
|
+
class BaseEvent < RubyRabbitmqJanus::Errors::Process::BaseConcurency
|
8
|
+
def initialize(message)
|
9
|
+
super "[Event] #{message}"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module Event
|
14
|
+
# Error for Process::Concurency::Event#initialize
|
15
|
+
class Initializer < RubyRabbitmqJanus::Errors::Process::BaseEvent
|
16
|
+
def initializer
|
17
|
+
super 'Error Event initializer'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# Error for Process::Concurency::Event#run
|
22
|
+
class Run < RubyRabbitmqJanus::Errors::Process::BaseEvent
|
23
|
+
def initializer
|
24
|
+
super 'Error running block code'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
module RubyRabbitmqJanus
|
6
6
|
module Errors
|
7
|
-
module
|
7
|
+
module Process
|
8
8
|
class BaseKeepaliveInitializer < BaseKeepalive
|
9
9
|
def initialize(message)
|
10
10
|
super "[Initializer] #{message}"
|
@@ -12,43 +12,43 @@ module RubyRabbitmqJanus
|
|
12
12
|
end
|
13
13
|
|
14
14
|
module KeepaliveInitializer
|
15
|
-
class Initializer < RubyRabbitmqJanus::Errors::
|
15
|
+
class Initializer < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveInitializer
|
16
16
|
def initialize
|
17
17
|
super 'Error keepalive initializer'
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
class ID2ref < RubyRabbitmqJanus::Errors::
|
21
|
+
class ID2ref < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveInitializer
|
22
22
|
def initialize(thread_id)
|
23
23
|
super "No thread with ID : #{thread_id}"
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
class Session < RubyRabbitmqJanus::Errors::
|
27
|
+
class Session < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveInitializer
|
28
28
|
def initialize
|
29
29
|
super 'Error return session number'
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
class Thread < RubyRabbitmqJanus::Errors::
|
33
|
+
class Thread < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveInitializer
|
34
34
|
def initialize
|
35
35
|
super 'Error for get Object Thread ID'
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
class ThreadStart < RubyRabbitmqJanus::Errors::
|
39
|
+
class ThreadStart < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveInitializer
|
40
40
|
def initialize
|
41
41
|
super 'Error for starting timer in thread'
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
class ThreadStop < RubyRabbitmqJanus::Errors::
|
45
|
+
class ThreadStop < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveInitializer
|
46
46
|
def initialize
|
47
47
|
super 'Error for stoping timer in thread'
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
class ThreadDelete < RubyRabbitmqJanus::Errors::
|
51
|
+
class ThreadDelete < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveInitializer
|
52
52
|
def initialize
|
53
53
|
super 'Error for destroy thread'
|
54
54
|
end
|
@@ -4,8 +4,8 @@
|
|
4
4
|
|
5
5
|
module RubyRabbitmqJanus
|
6
6
|
module Errors
|
7
|
-
module
|
8
|
-
# Define a super class for all error in
|
7
|
+
module Process
|
8
|
+
# Define a super class for all error in Process::Concurency::Keepalive
|
9
9
|
class BaseKeepaliveThread < BaseKeepalive
|
10
10
|
def initialize(message)
|
11
11
|
super "[Thread] #{message}"
|
@@ -13,37 +13,37 @@ module RubyRabbitmqJanus
|
|
13
13
|
end
|
14
14
|
|
15
15
|
module KeepaliveThread
|
16
|
-
class Initializer < RubyRabbitmqJanus::Errors::
|
16
|
+
class Initializer < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveThread
|
17
17
|
def initialize
|
18
18
|
super 'Error for initialize Keepalive Thread'
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
class InitializeJanusSession < RubyRabbitmqJanus::Errors::
|
22
|
+
class InitializeJanusSession < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveThread
|
23
23
|
def initialize
|
24
24
|
super 'Error when initialize message in keepalive thread'
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
class RestartSession < RubyRabbitmqJanus::Errors::
|
28
|
+
class RestartSession < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveThread
|
29
29
|
def initialize
|
30
30
|
super 'Error when restart session'
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
class Start < RubyRabbitmqJanus::Errors::
|
34
|
+
class Start < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveThread
|
35
35
|
def initialize
|
36
36
|
super 'Error when start a loop for sending keepalive message'
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
class Kill < RubyRabbitmqJanus::Errors::
|
40
|
+
class Kill < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveThread
|
41
41
|
def initialize
|
42
42
|
super 'Error when killing thread'
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
class InstanceIsDown < RubyRabbitmqJanus::Errors::
|
46
|
+
class InstanceIsDown < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveThread
|
47
47
|
def initialize
|
48
48
|
super 'Error when instance is down'
|
49
49
|
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
module RubyRabbitmqJanus
|
6
6
|
module Errors
|
7
|
-
module
|
7
|
+
module Process
|
8
8
|
class BaseKeepaliveTimer < BaseKeepalive
|
9
9
|
def initialize(message)
|
10
10
|
super "[Timer] #{message}"
|
@@ -12,31 +12,31 @@ module RubyRabbitmqJanus
|
|
12
12
|
end
|
13
13
|
|
14
14
|
module KeepaliveTimer
|
15
|
-
class Initializer < RubyRabbitmqJanus::Errors::
|
15
|
+
class Initializer < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveTimer
|
16
16
|
def initialize
|
17
17
|
super 'Error for initialize Keepalive Timer'
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
class LoopKeepalive < RubyRabbitmqJanus::Errors::
|
21
|
+
class LoopKeepalive < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveTimer
|
22
22
|
def initialize
|
23
23
|
super 'Loop for create timer in Keepalive Thread is failed'
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
class Session < RubyRabbitmqJanus::Errors::
|
27
|
+
class Session < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveTimer
|
28
28
|
def initialize
|
29
29
|
super 'Timeout for get session number in keepalive request'
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
class StopTimer < RubyRabbitmqJanus::Errors::
|
33
|
+
class StopTimer < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveTimer
|
34
34
|
def initialize
|
35
35
|
super 'Error when timer to Keepalive Thread stop'
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
class StartTimer < RubyRabbitmqJanus::Errors::
|
39
|
+
class StartTimer < RubyRabbitmqJanus::Errors::Process::BaseKeepaliveTimer
|
40
40
|
def initialize
|
41
41
|
super 'Error when timer to Keepalive Thread start'
|
42
42
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
4
|
+
# @see RubyRabbitmqJanus::Janus::Keepalive Keepalive thread
|
5
|
+
|
6
|
+
module RubyRabbitmqJanus
|
7
|
+
module Errors
|
8
|
+
module Process
|
9
|
+
# Define a super class for all error in Process::Concurency::Keepalive
|
10
|
+
class BaseKeepalive < RubyRabbitmqJanus::Errors::Process::BaseConcurency
|
11
|
+
def initialize(message)
|
12
|
+
super "[Keepalive]#{message}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
require 'rrj/errors/process/keepalive/initializer'
|
20
|
+
require 'rrj/errors/process/keepalive/thread'
|
21
|
+
require 'rrj/errors/process/keepalive/timer'
|
data/lib/rrj/info.rb
CHANGED
data/lib/rrj/janus/janus.rb
CHANGED
@@ -8,13 +8,15 @@ module RubyRabbitmqJanus
|
|
8
8
|
#
|
9
9
|
# Store instance information for MongoID database
|
10
10
|
class JanusInstance < ::ActiveRecord::Base
|
11
|
-
include RubyRabbitmqJanus::Models::
|
12
|
-
include RubyRabbitmqJanus::Models::
|
13
|
-
include RubyRabbitmqJanus::Models::
|
11
|
+
include RubyRabbitmqJanus::Models::Instances
|
12
|
+
include RubyRabbitmqJanus::Models::Methods
|
13
|
+
include RubyRabbitmqJanus::Models::Callbacks
|
14
|
+
include RubyRabbitmqJanus::Models::Validations
|
14
15
|
|
15
16
|
self.primary_key = :id
|
16
17
|
|
17
18
|
alias_attribute :instance, :id
|
19
|
+
alias_attribute :title, :name
|
18
20
|
alias_attribute :session_id, :session
|
19
21
|
alias_attribute :thread_id, :thread
|
20
22
|
alias_attribute :thread_id_adm, :thread_adm
|
@@ -4,19 +4,19 @@ module RubyRabbitmqJanus
|
|
4
4
|
# Contains all model for this gem
|
5
5
|
module Models
|
6
6
|
# Configure callback for Janus Instance models
|
7
|
-
module
|
7
|
+
module Callbacks
|
8
8
|
extend ActiveSupport::Concern
|
9
9
|
|
10
10
|
# Create a session in Janus Instance
|
11
11
|
def callback_create_after
|
12
|
-
::Log.debug 'Callback AFTER_VALIDATION'
|
12
|
+
::Log.debug '[JanusInstance] Callback AFTER_VALIDATION'
|
13
13
|
create_a_session_in_janus_instance if enable
|
14
14
|
end
|
15
15
|
|
16
16
|
# Update a keepalive transaction in Janus Instance
|
17
17
|
# Enable or Disable transaction
|
18
18
|
def callback_update_after
|
19
|
-
::Log.debug 'Callback AFTER_UPDATE'
|
19
|
+
::Log.debug '[JanusInstance] Callback AFTER_UPDATE'
|
20
20
|
if enable && enable_changed?
|
21
21
|
create_a_session_in_janus_instance
|
22
22
|
elsif !enable && enable_changed?
|
@@ -27,22 +27,31 @@ module RubyRabbitmqJanus
|
|
27
27
|
# Destroy a session in Janus Instance
|
28
28
|
# :reek:UtilityFunction
|
29
29
|
def callback_destroy_after
|
30
|
-
::Log.debug 'Callback AFTER_DESTROY'
|
30
|
+
::Log.debug '[JanusInstance] Callback AFTER_DESTROY'
|
31
31
|
# LCO: nothing to do, thread will close session and die
|
32
32
|
end
|
33
33
|
|
34
34
|
private
|
35
35
|
|
36
36
|
def create_a_session_in_janus_instance
|
37
|
+
::Log.debug '[JanusInstance] Create session'
|
37
38
|
RubyRabbitmqJanus::Rabbit::Publisher::JanusInstance.new.publish(message)
|
38
39
|
end
|
39
40
|
|
40
41
|
def destroy_a_session_in_janus_instance
|
42
|
+
::Log.debug '[JanusInstance] Destroy session'
|
41
43
|
RubyRabbitmqJanus::Rabbit::Publisher::JanusInstance.new.publish(message)
|
44
|
+
|
45
|
+
::Log.debug '[JanusInstance] Kill thread'
|
46
|
+
thread_object.kill if thread_object.alive?
|
47
|
+
end
|
48
|
+
|
49
|
+
def thread_object
|
50
|
+
ObjectSpace._id2ref(thread)
|
42
51
|
end
|
43
52
|
|
44
53
|
def keepalive_object
|
45
|
-
RubyRabbitmqJanus::
|
54
|
+
RubyRabbitmqJanus::Process::Concurrencies::KeepaliveInitializer
|
46
55
|
end
|
47
56
|
|
48
57
|
def keepalive_object_new
|
@@ -4,11 +4,11 @@
|
|
4
4
|
|
5
5
|
module RubyRabbitmqJanus
|
6
6
|
module Models
|
7
|
-
# Add
|
8
|
-
module
|
7
|
+
# Add class methods for JanusInstance model
|
8
|
+
module Instances
|
9
9
|
extend ActiveSupport::Concern
|
10
10
|
|
11
|
-
# Class methods for
|
11
|
+
# Class methods for Janus Instance model
|
12
12
|
module ClassMethods
|
13
13
|
# Disable an instance
|
14
14
|
def disable(session_id)
|
@@ -44,32 +44,6 @@ module RubyRabbitmqJanus
|
|
44
44
|
JanusInstance.where(enable: false)
|
45
45
|
end
|
46
46
|
end
|
47
|
-
|
48
|
-
def create_keepalive
|
49
|
-
::Log.info 'Create session'
|
50
|
-
janus_instance = keepalive_object_new
|
51
|
-
set(session: janus_instance.session, enable: true)
|
52
|
-
end
|
53
|
-
|
54
|
-
def stop_keepalive
|
55
|
-
::Log.info 'Destroy session'
|
56
|
-
unset(%I[thread thread_adm session])
|
57
|
-
set(enable: false)
|
58
|
-
end
|
59
|
-
|
60
|
-
private
|
61
|
-
|
62
|
-
def search_initializer(options)
|
63
|
-
if File.basename($PROGRAM_NAME) == 'rake'
|
64
|
-
::RRJ.start_transaction(options) do |transaction|
|
65
|
-
yield(transaction)
|
66
|
-
end
|
67
|
-
else
|
68
|
-
::RRJ.start_transaction(true, options) do |transaction|
|
69
|
-
yield(transaction)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
47
|
end
|
74
48
|
end
|
75
49
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyRabbitmqJanus
|
4
|
+
module Models
|
5
|
+
# Add method for Janus Instance model
|
6
|
+
module Methods
|
7
|
+
extend ActiveSupport::Concern
|
8
|
+
|
9
|
+
# Create thread keepalive
|
10
|
+
def create_keepalive
|
11
|
+
::Log.info 'Create session'
|
12
|
+
janus_instance = keepalive_object_new
|
13
|
+
set(session: janus_instance.session, enable: true)
|
14
|
+
end
|
15
|
+
|
16
|
+
# Stop thread keepalive
|
17
|
+
def stop_keepalive
|
18
|
+
::Log.info 'Destroy session'
|
19
|
+
unset(%I[thread thread_adm session])
|
20
|
+
set(enable: false)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Start Janus instance
|
24
|
+
# @since 2.7.1
|
25
|
+
def start!
|
26
|
+
update(enable: true)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Stop Janus instance
|
30
|
+
# @since 2.7.1
|
31
|
+
def stop!
|
32
|
+
update(enable: false)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/rrj/models/mongoid.rb
CHANGED
@@ -7,10 +7,12 @@ module RubyRabbitmqJanus
|
|
7
7
|
# Store instance information for MongoID database
|
8
8
|
class JanusInstance
|
9
9
|
include Mongoid::Document
|
10
|
-
include RubyRabbitmqJanus::Models::
|
11
|
-
include RubyRabbitmqJanus::Models::
|
12
|
-
include RubyRabbitmqJanus::Models::
|
10
|
+
include RubyRabbitmqJanus::Models::Instances
|
11
|
+
include RubyRabbitmqJanus::Models::Methods
|
12
|
+
include RubyRabbitmqJanus::Models::Callbacks
|
13
|
+
include RubyRabbitmqJanus::Models::Validations
|
13
14
|
|
15
|
+
field :name, type: String, as: :title
|
14
16
|
field :session, type: Integer, as: :session_id
|
15
17
|
field :enable, type: Boolean
|
16
18
|
field :thread, type: Integer, as: :thread_id
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module RubyRabbitmqJanus
|
4
|
-
module
|
5
|
-
# Modules for create autonomous
|
4
|
+
module Process
|
5
|
+
# Modules for create autonomous process
|
6
6
|
module Concurrencies
|
7
7
|
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
8
8
|
#
|
@@ -18,7 +18,7 @@ module RubyRabbitmqJanus
|
|
18
18
|
@lock = Mutex.new
|
19
19
|
@condition = ConditionVariable.new
|
20
20
|
rescue
|
21
|
-
raise Errors::
|
21
|
+
raise Errors::Process::Concurencies::Initializer
|
22
22
|
end
|
23
23
|
|
24
24
|
private
|
@@ -40,6 +40,6 @@ module RubyRabbitmqJanus
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
require 'rrj/
|
44
|
-
require 'rrj/
|
45
|
-
require 'rrj/
|
43
|
+
require 'rrj/process/keepalive/keepalive_initializer'
|
44
|
+
require 'rrj/process/event'
|
45
|
+
require 'rrj/process/event_admin'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module RubyRabbitmqJanus
|
4
|
-
module
|
4
|
+
module Process
|
5
5
|
module Concurrencies
|
6
6
|
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
7
7
|
|
@@ -20,7 +20,7 @@ module RubyRabbitmqJanus
|
|
20
20
|
super
|
21
21
|
@thread = Thread.new { initialize_thread }
|
22
22
|
rescue
|
23
|
-
raise Errors::
|
23
|
+
raise Errors::Process::Event::Initializer
|
24
24
|
end
|
25
25
|
|
26
26
|
# Create a thread for execute a block code in a thread
|
@@ -38,7 +38,7 @@ module RubyRabbitmqJanus
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
rescue
|
41
|
-
raise Errors::
|
41
|
+
raise Errors::Process::Event::Run
|
42
42
|
end
|
43
43
|
|
44
44
|
private
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'rrj/
|
4
|
-
require 'rrj/
|
5
|
-
require 'rrj/
|
3
|
+
require 'rrj/process/keepalive/keepalive_timer'
|
4
|
+
require 'rrj/process/keepalive/keepalive_message'
|
5
|
+
require 'rrj/process/keepalive/keepalive_thread'
|
6
6
|
|
7
7
|
module RubyRabbitmqJanus
|
8
|
-
module
|
8
|
+
module Process
|
9
9
|
module Concurrencies
|
10
10
|
# @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
|
11
11
|
#
|
@@ -19,14 +19,14 @@ module RubyRabbitmqJanus
|
|
19
19
|
super()
|
20
20
|
@thread = KeepaliveThread.new(instance, rabbit) { initialize_thread }
|
21
21
|
rescue
|
22
|
-
raise Errors::
|
22
|
+
raise Errors::Process::KeepaliveInitializer::Initializer
|
23
23
|
end
|
24
24
|
|
25
25
|
# Get thread with Ruby ID
|
26
26
|
def self.thread(thread)
|
27
27
|
ObjectSpace._id2ref(thread)
|
28
28
|
rescue RangeError
|
29
|
-
raise Errors::
|
29
|
+
raise Errors::Process::KeepaliveInitializer::ID2Ref, thread
|
30
30
|
end
|
31
31
|
|
32
32
|
# Give a session Integer his gem is instantiate.
|
@@ -45,7 +45,7 @@ module RubyRabbitmqJanus
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
rescue
|
48
|
-
raise Errors::
|
48
|
+
raise Errors::Process::KeepaliveInitializer::Session
|
49
49
|
end
|
50
50
|
|
51
51
|
# Ask Object ID to thread managing keepalive message
|
@@ -58,7 +58,7 @@ module RubyRabbitmqJanus
|
|
58
58
|
def thread_id
|
59
59
|
@thread.__id__
|
60
60
|
rescue
|
61
|
-
raise Errors::
|
61
|
+
raise Errors::Process::KeepaliveInitializer::Thread
|
62
62
|
end
|
63
63
|
|
64
64
|
private
|