ruby_rabbitmq_janus 2.7.2.pre.314 → 2.7.2.pre.315

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
  SHA256:
3
- metadata.gz: 55ec8d50d1bce0633eaa064cfe14a12107e214423b133246d22a684edd6c52ce
4
- data.tar.gz: 074e93f780f98a747ffdbeece4d5ec0f28fa2e898372a426546f9115f4f02506
3
+ metadata.gz: 24b27765db5248086e86c2a877fc32705b8c8adc99d0e009c02fa5c610c3cd4d
4
+ data.tar.gz: efbf4bd7009b90835ed3aaf5d562a396a2c7e6d054c0cb2ea49e2479bd90928c
5
5
  SHA512:
6
- metadata.gz: 2407c36de8b7d0bee62bf06575e8ceaba9266d3481c332d9d15fd7d3861e42504c07fd40dac9271a156bc937cbf4c42ec84f4326b013ed22e981edfcb8ee9fae
7
- data.tar.gz: c47053c454305a155a58ba6cacecef9fd0b7074e85d667fb8a264e061eaee3db1330c6aa3fbcf4134d07862c40da1937d631e5bd219624b57f82799a430965dc
6
+ metadata.gz: ffb3c08464d8dab6d6496a1882a040f7a0b3bec55eccfbb9419c0e84647fdc3f8bcf5d94262ab402b5b972f3085ceb49f1c08e67a99ad76f160d40fac7b010c5
7
+ data.tar.gz: 5d2031e3645a6f88a7aab5a04beb667145d05101c4cea6f44f345d6fdf69852808ce7f253f6dce75747123355640a1d6e2eab2029a03181b8674970a5108039d
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: 2.7.2.pre.314
4
+ version: 2.7.2.pre.315
5
5
  platform: ruby
6
6
  authors:
7
7
  - VAILLANT Jeremy
@@ -366,20 +366,6 @@ dependencies:
366
366
  - - "~>"
367
367
  - !ruby/object:Gem::Version
368
368
  version: 0.2.2
369
- - !ruby/object:Gem::Dependency
370
- name: timers
371
- requirement: !ruby/object:Gem::Requirement
372
- requirements:
373
- - - "~>"
374
- - !ruby/object:Gem::Version
375
- version: '4.1'
376
- type: :runtime
377
- prerelease: false
378
- version_requirements: !ruby/object:Gem::Requirement
379
- requirements:
380
- - - "~>"
381
- - !ruby/object:Gem::Version
382
- version: '4.1'
383
369
  description: |2
384
370
  This gem is used to communicate to a server Janus through RabbitMQ software
385
371
  (Message-oriented middleware). It waiting a messages to Rails API who send to
@@ -503,9 +489,7 @@ files:
503
489
  - lib/rrj/janus/transactions/session.rb
504
490
  - lib/rrj/janus/transactions/transaction.rb
505
491
  - lib/rrj/models/active_record.rb
506
- - lib/rrj/models/concerns/callbacks.rb
507
492
  - lib/rrj/models/concerns/instances.rb
508
- - lib/rrj/models/concerns/methods.rb
509
493
  - lib/rrj/models/concerns/validations.rb
510
494
  - lib/rrj/models/mongoid.rb
511
495
  - lib/rrj/process/concurrency.rb
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- # Contains all model for this gem
5
- module Models
6
- # Configure callback for Janus Instance models
7
- module Callbacks
8
- extend ActiveSupport::Concern
9
-
10
- # Create a session in Janus Instance
11
- def callback_create_after
12
- ::Log.debug '[JanusInstance] Callback AFTER_VALIDATION'
13
- create_a_session_in_janus_instance if enable
14
- end
15
-
16
- # Update a keepalive transaction in Janus Instance
17
- # Enable or Disable transaction
18
- def callback_update_after
19
- ::Log.debug '[JanusInstance] Callback AFTER_UPDATE'
20
- if enable && enable_changed?
21
- create_a_session_in_janus_instance
22
- elsif !enable && enable_changed?
23
- destroy_a_session_in_janus_instance
24
- end
25
- end
26
-
27
- # Destroy a session in Janus Instance
28
- # :reek:UtilityFunction
29
- def callback_destroy_after
30
- ::Log.debug '[JanusInstance] Callback AFTER_DESTROY'
31
- # LCO: nothing to do, thread will close session and die
32
- end
33
-
34
- private
35
-
36
- def create_a_session_in_janus_instance
37
- ::Log.debug '[JanusInstance] Create session'
38
- RubyRabbitmqJanus::Rabbit::Publisher::JanusInstance.new.publish(message)
39
- end
40
-
41
- def destroy_a_session_in_janus_instance
42
- ::Log.debug '[JanusInstance] Destroy session'
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
- id_thread_ji = reload.thread
51
- ::Log.debug "[JanusInstance] Get thread with id : #{id_thread_ji}"
52
- ObjectSpace._id2ref(id_thread_ji)
53
- end
54
-
55
- def keepalive_object
56
- RubyRabbitmqJanus::Process::Concurrencies::KeepaliveInitializer
57
- end
58
-
59
- def keepalive_object_new
60
- keepalive_object.new(self)
61
- end
62
-
63
- def keepalive_object_thread
64
- keepalive_object.thread(thread)
65
- end
66
-
67
- def info_instance(text)
68
- ::Log.debug "#{text} in Janus Instance [##{instance}]"
69
- end
70
-
71
- def message
72
- {
73
- id: id.to_s,
74
- enable: enable
75
- }
76
- end
77
- end
78
- end
79
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # :reek:NilCheck
4
-
5
- module RubyRabbitmqJanus
6
- module Models
7
- # Add method for Janus Instance model
8
- module Methods
9
- extend ActiveSupport::Concern
10
-
11
- # Create thread keepalive
12
- def create_keepalive
13
- ::Log.info "Janus Instance '#{name}' ..."
14
- if enable && session_id.nil? && thread_id.nil?
15
- ::Log.info 'has a new keepalive session'
16
- janus_instance = keepalive_object_new
17
- set(session: janus_instance.session, enable: true)
18
- else
19
- ::Log.info 'has already keepalive session'
20
- end
21
- end
22
-
23
- # Stop thread keepalive
24
- def stop_keepalive
25
- ::Log.info 'Destroy session'
26
- unset(%I[thread thread_adm session])
27
- set(enable: false)
28
- end
29
-
30
- # Start Janus instance
31
- # @since 2.7.2
32
- def start
33
- reload.update(enable: true)
34
- rescue => exception
35
- ::Log.error '[JanusInstance] Error when start'
36
- ::Log.error "[JanusInstance] #{exception}"
37
- end
38
-
39
- # Stop Janus instance
40
- # @since 2.7.2
41
- def stop
42
- reload.update(enable: false)
43
- rescue => exception
44
- ::Log.error '[JanusInstance] Error when stop'
45
- ::Log.error "[JanusInstance] #{exception}"
46
- end
47
- end
48
- end
49
- end