mina-ng-puma 1.2.0 → 1.3.0

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
  SHA256:
3
- metadata.gz: d7ff92738b7a21a7e6a6cd66258201ef8c42e399ffd2bb2e59bca8d70a9a8b9e
4
- data.tar.gz: c056becb525af7c2b690052e18695c743697b4195152be752b060d97422e4a44
3
+ metadata.gz: 252dc65fd614942078f9e648b52052e03bd900c5e6c62ac42eb3d78d62987c6d
4
+ data.tar.gz: e753421c3578992fc2c2cf71512e3175a06de2308180486747b7c1184ee8080d
5
5
  SHA512:
6
- metadata.gz: 4716a49a617df7a5f525cc32581fc8c8666ff33b285895af3b633f2e28c333ceb8a7c3432cd79f2a8505a2b3fb5e849528d510d36779ff9115ec0d1d0f25235e
7
- data.tar.gz: 062cf312f432336561393d685c00d2f9cef45fbc6923728de0f76126bda0df4a4ba6e6de4fab527cf1676f2bea47582a713d4d9326cf75524115f5dc86b015ae
6
+ metadata.gz: ebba072ded0c6c466c2bae792c3ce838c2a41929716a66e0451a4147ba5a9edb851bca1ac30604a10680eac704ca6c3de510b1b562f6f0c906c24cfee623467e
7
+ data.tar.gz: 61552a2aa2cee1d2782b556daa63c558b607d5e522f81417794db3cc0af49489a0cd0c07fb2d34f99c7656c56296de938191d0530d423edc34ecc89355b76b2c
@@ -52,6 +52,7 @@ namespace :puma do
52
52
  task :phased_restart do
53
53
  comment "Restart Puma -- phased..."
54
54
  pumactl_restart_command 'phased-restart'
55
+ wait_phased_restart_successful_command
55
56
  end
56
57
 
57
58
  desc 'Restart puma (hard restart)'
@@ -109,6 +110,43 @@ namespace :puma do
109
110
  command cmd
110
111
  end
111
112
 
113
+ def wait_phased_restart_successful_command
114
+ cmd = %{
115
+ started_flag=false
116
+ default_times=120
117
+ times=$default_times
118
+ cd #{fetch(:puma_root_path)}
119
+ echo "Waiting phased-restart finish( default: $default_times seconds)..."
120
+ while [ $times -gt 0 ]; do
121
+ if [ -e "#{fetch(:puma_config)}" ]; then
122
+ # Just output the old workers number
123
+ #{fetch(:pumactl_cmd)} -F #{fetch(:puma_config)} stats | grep -E -o '"old_workers": [0-9]+'
124
+ if #{fetch(:pumactl_cmd)} -F #{fetch(:puma_config)} stats | grep '"old_workers": 0';then
125
+ started_flag=true
126
+ break
127
+ fi
128
+ else
129
+ # Just output the old workers number
130
+ #{fetch(:pumactl_cmd)} -S #{fetch(:puma_state)} -C "unix://#{fetch(:pumactl_socket)}" --pidfile #{fetch(:puma_pid)} stats | grep -E -o '"old_workers": [0-9]+'
131
+ if #{fetch(:pumactl_cmd)} -S #{fetch(:puma_state)} -C "unix://#{fetch(:pumactl_socket)}" --pidfile #{fetch(:puma_pid)} stats | grep '"old_workers": 0'; then
132
+ started_flag=true
133
+ break
134
+ fi
135
+ fi
136
+ sleep 1
137
+ times=$[$times -1]
138
+ done
139
+
140
+ if [ $started_flag == false ]; then
141
+ echo "Waiting phased-restart timeout(default: $default_times seconds), please check it!!!"
142
+ exit 1
143
+ else
144
+ echo "Phased-restart have finished, enjoy it!"
145
+ fi
146
+ }
147
+ command cmd
148
+ end
149
+
112
150
  def wait_quit_or_force_quit_command
113
151
  cmd = %{
114
152
  quit_flag=false
@@ -1,5 +1,5 @@
1
1
  module Mina
2
2
  module Puma
3
- VERSION = "1.2.0"
3
+ VERSION = "1.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mina-ng-puma
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - windy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-26 00:00:00.000000000 Z
11
+ date: 2019-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mina
@@ -101,7 +101,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  requirements: []
104
- rubygems_version: 3.0.2
104
+ rubyforge_project:
105
+ rubygems_version: 2.7.6
105
106
  signing_key:
106
107
  specification_version: 4
107
108
  summary: Next Generation Puma tasks for Mina