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 +4 -4
- data/lib/mrpin/core/remote/socket/base/manager_remote_socket_base.rb +12 -0
- data/lib/mrpin/core/remote/socket/websocket/manager_remote_web_sockets.rb +6 -0
- data/lib/mrpin/core/remote/socket/websocket/socket_client_web_sockets.rb +2 -0
- data/lib/mrpin/core/scheduler/manager_scheduler.rb +11 -0
- data/mrpin-sdk.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cdfbff03aa2eda21e9a05d7be461e9281d2648b
|
4
|
+
data.tar.gz: 6d097453ddd5ec7dbd401d714df4ebd2b10f6508
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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}"
|
@@ -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.
|
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.}
|