mrpin-sdk 1.0.57 → 1.0.58

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
  SHA1:
3
- metadata.gz: 16684299bb1a33860be22ba16fa042f48749f522
4
- data.tar.gz: 6b83dfd9214991f11267943abbd298f65cfdcf5c
3
+ metadata.gz: 5cdfbff03aa2eda21e9a05d7be461e9281d2648b
4
+ data.tar.gz: 6d097453ddd5ec7dbd401d714df4ebd2b10f6508
5
5
  SHA512:
6
- metadata.gz: 1fc1c2a95816df9c2f8000d9bda4295dd8158da58b5b5ffa82878f56d0513f832b290e3e2f8833d9b613d4b62c5f6c2781f19b24b6f9184486770df0f5f6b6c4
7
- data.tar.gz: 0cab29ee6dbf372f879f9c2f5fe3c8a9d84636f53a566f4004a0635e6eaaf945e8023655dd93bf6209aa094b53b49cb70a98180943d46638bd555b4c02323cc6
6
+ metadata.gz: 01ff3a65a9429c7027478231c1880dcf91699e2d74c160e54682aa88eec692d29599496827670c259f4c87f2b4e94f9cefdcc9ab4fdd1a616413c59f4a360e73
7
+ data.tar.gz: a11e3cfbfe6fb5ebba8571d9689a0836885246f6ff283fccd38767e8f383320d7199ff47f689fcc3a880e8cb1a9db6313a9ea90237507eb60fb78e9f28668f87
@@ -76,6 +76,8 @@ class ManagerRemoteSocketBase < ManagerBase
76
76
  def post_init
77
77
  super
78
78
 
79
+ @manager_scheduler = AppInfo.instance.manager_scheduler
80
+
79
81
  register_classes
80
82
  register_handlers
81
83
 
@@ -139,4 +141,14 @@ class ManagerRemoteSocketBase < ManagerBase
139
141
  nil
140
142
  end
141
143
 
144
+ protected
145
+ def disconnect_all_if_maintenance
146
+ #todo: use for allsocket clients
147
+ return if AppInfo.instance.state != EAppState::EAS_MAINTENANCE
148
+
149
+ self.disconnect_all_with_message(EStringTypeBase::EST_ERROR_SERVER_ON_MAINTENANCE)
150
+
151
+ nil
152
+ end
153
+
142
154
  end
@@ -99,9 +99,15 @@ class ManagerRemoteWebSockets < ManagerRemoteSocketBase
99
99
  params[:tls_options] = tls_options
100
100
  end
101
101
 
102
+ callback_disconnect = Proc.new do
103
+ disconnect_all_if_maintenance
104
+ end
105
+
102
106
  EM::WebSocket.run(params) do |websocket|
103
107
  client = @class_client.new(websocket)
104
108
  client.websocket = websocket
109
+
110
+ @manager_scheduler.run_in_background(callback_disconnect)
105
111
  end
106
112
 
107
113
  @logger.info "server #{self.server_type}\tstarted on #{host}:#{port}"
@@ -57,6 +57,8 @@ class SocketClientWebSockets < SocketClientBase
57
57
  on_error(e)
58
58
  end
59
59
  end
60
+
61
+ nil
60
62
  end
61
63
 
62
64
  #
@@ -8,6 +8,17 @@ class ManagerScheduler < ManagerBase
8
8
  #in, every, unschedule, at
9
9
  attr_reader :scheduler
10
10
 
11
+ public
12
+ def is_ready_for_shutdown?
13
+ result = false
14
+
15
+ @actions_locker.synchronize do
16
+ result = @actions.empty?
17
+ end
18
+
19
+ result
20
+ end
21
+
11
22
  #
12
23
  # Methods
13
24
  #
data/mrpin-sdk.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'mrpin-sdk'
7
- spec.version = '1.0.57'
7
+ spec.version = '1.0.58'
8
8
  spec.authors = %w(Gregory Tkach Yakupov Dmitrij)
9
9
  spec.email = %w(gregory.tkach@gmail.com yakupov.dmitrij@gmail.com)
10
10
  spec.description = %q{Mrpin sdk for backend development.}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mrpin-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.57
4
+ version: 1.0.58
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory