mrpin-sdk 1.0.57 → 1.0.58

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
  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