Set up signal handlers.
(self)
| 176 | self.run() |
| 177 | |
| 178 | def init_signals(self): |
| 179 | """Set up signal handlers.""" |
| 180 | # Reset signal handlers from parent |
| 181 | for sig in self.SIGNALS: |
| 182 | signal.signal(sig, signal.SIG_DFL) |
| 183 | |
| 184 | # Handle graceful shutdown |
| 185 | signal.signal(signal.SIGTERM, self._signal_handler) |
| 186 | signal.signal(signal.SIGQUIT, self._signal_handler) |
| 187 | signal.signal(signal.SIGINT, self._signal_handler) |
| 188 | |
| 189 | # Handle abort (timeout) |
| 190 | signal.signal(signal.SIGABRT, self._signal_handler) |
| 191 | |
| 192 | # Handle USR1 (reopen logs) |
| 193 | signal.signal(signal.SIGUSR1, self._signal_handler) |
| 194 | |
| 195 | def _signal_handler(self, sig, frame): |
| 196 | """Handle signals by setting alive = False.""" |