Browse code

Merge "Enable reloadable config in services"

Jenkins authored on 2017/10/11 07:04:56
Showing 2 changed files
... ...
@@ -45,6 +45,7 @@ declare -A -g GITBRANCH
45 45
 declare -A -g GITDIR
46 46
 
47 47
 TRACK_DEPENDS=${TRACK_DEPENDS:-False}
48
+KILL_PATH="$(which kill)"
48 49
 
49 50
 # Save these variables to .stackenv
50 51
 STACK_ENV_VARS="BASE_SQL_CONN DATA_DIR DEST ENABLED_SERVICES HOST_IP \
... ...
@@ -1394,6 +1395,7 @@ function write_user_unit_file {
1394 1394
     iniset -sudo $unitfile "Service" "ExecStart" "$command"
1395 1395
     iniset -sudo $unitfile "Service" "KillMode" "process"
1396 1396
     iniset -sudo $unitfile "Service" "TimeoutStopSec" "infinity"
1397
+    iniset -sudo $unitfile "Service" "ExecReload" "$KILL_PATH -HUP \$MAINPID"
1397 1398
     if [[ -n "$group" ]]; then
1398 1399
         iniset -sudo $unitfile "Service" "Group" "$group"
1399 1400
     fi
... ...
@@ -1415,6 +1417,7 @@ function write_uwsgi_user_unit_file {
1415 1415
     iniset -sudo $unitfile "Service" "SyslogIdentifier" "$service"
1416 1416
     iniset -sudo $unitfile "Service" "User" "$user"
1417 1417
     iniset -sudo $unitfile "Service" "ExecStart" "$command"
1418
+    iniset -sudo $unitfile "Service" "ExecReload" "$KILL_PATH -HUP \$MAINPID"
1418 1419
     iniset -sudo $unitfile "Service" "Type" "notify"
1419 1420
     iniset -sudo $unitfile "Service" "KillMode" "process"
1420 1421
     iniset -sudo $unitfile "Service" "Restart" "always"
... ...
@@ -259,7 +259,7 @@ function write_uwsgi_config {
259 259
     iniset "$file" uwsgi master true
260 260
     # Set die-on-term & exit-on-reload so that uwsgi shuts down
261 261
     iniset "$file" uwsgi die-on-term true
262
-    iniset "$file" uwsgi exit-on-reload true
262
+    iniset "$file" uwsgi exit-on-reload false
263 263
     # Set worker-reload-mercy so that worker will not exit till the time
264 264
     # configured after graceful shutdown
265 265
     iniset "$file" uwsgi worker-reload-mercy $WORKER_TIMEOUT
... ...
@@ -316,7 +316,7 @@ function write_local_uwsgi_http_config {
316 316
     iniset "$file" uwsgi master true
317 317
     # Set die-on-term & exit-on-reload so that uwsgi shuts down
318 318
     iniset "$file" uwsgi die-on-term true
319
-    iniset "$file" uwsgi exit-on-reload true
319
+    iniset "$file" uwsgi exit-on-reload false
320 320
     iniset "$file" uwsgi enable-threads true
321 321
     iniset "$file" uwsgi plugins python
322 322
     # uwsgi recommends this to prevent thundering herd on accept.