Fix a typo and call sys.exit on sigterm

otherwise it will wait up to `loop_wait` seconds berfore exiting...
This commit is contained in:
Alexander Kukushkin
2016-06-16 15:19:21 +02:00
parent 69099b060e
commit bd5440a102
2 changed files with 6 additions and 3 deletions
+5 -2
View File
@@ -1,5 +1,6 @@
import logging
import signal
import sys
import time
from patroni.api import RestApiServer
@@ -65,7 +66,9 @@ class Patroni(object):
self._received_sighup = True
def sigterm_handler(self, *args):
self._received_sigterm = True
if not self._received_sigterm:
self._received_sigterm = True
sys.exit()
@property
def noloadbalance(self):
@@ -112,7 +115,7 @@ class Patroni(object):
def setup_signal_handlers(self):
signal.signal(signal.SIGHUP, self.sighup_handler)
signal.signal(signal.SIGHUP, self.sigterm_handler)
signal.signal(signal.SIGTERM, self.sigterm_handler)
signal.signal(signal.SIGCHLD, sigchld_handler)
+1 -1
View File
@@ -69,7 +69,7 @@ class TestPatroni(unittest.TestCase):
self.assertRaises(SleepException, self.p.run)
def test_sigterm_handler(self):
self.p.sigterm_handler()
self.assertRaises(SystemExit, self.p.sigterm_handler)
def test_schedule_next_run(self):
self.p.ha.dcs.watch = Mock(return_value=True)