Changeset 56:911c57416443 in livinglogic.python.tipimaid
- Timestamp:
- 12/23/08 14:28:44 (10 years ago)
- Author:
- Nikolas Tautenhahn <nik@…>
- Branch:
- default
- Message:
-
added sighandlers for sender in case apache kills its piped logger
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
r55
|
r56
|
|
44 | 44 | self.last_check_connection = datetime.datetime.now() |
45 | 45 | signal.signal(signal.SIGALRM, self.timeout) |
| 46 | signal.signal(signal.SIGHUP, self.sighandler) |
| 47 | signal.signal(signal.SIGTERM, self.sighandler) |
| 48 | signal.signal(signal.SIGINT, self.sighandler) |
| 49 | signal.signal(signal.SIGQUIT, self.sighandler) |
46 | 50 | |
47 | 51 | def readlines(self): |
… |
… |
|
92 | 96 | self.s = None |
93 | 97 | self.last_check_connection = self.startedbuffering = datetime.datetime.now() |
94 | | sys.stderr.write("%s (%s): Socket connection lost, starting to log to buffer and/or recovery file" % (self.progname, self.startedbuffering.isoformat())) |
| 98 | sys.stderr.write("%s (%s): Socket connection lost, starting to log to buffer and/or recovery file\n" % (self.progname, self.startedbuffering.isoformat())) |
95 | 99 | self.send_tempfile(line) |
96 | 100 | signal.alarm(0) |
… |
… |
|
142 | 146 | self.buffer = self.buffer[i:] # and the content which was transmitted to the server in time |
143 | 147 | return |
144 | | sys.stderr.write("%s (%s): Socket connection established again, all data could be sent to the server" % (self.progname, self.last_check_connection.isoformat())) |
| 148 | sys.stderr.write("%s (%s): Socket connection established again, all data could be sent to the server\n" % (self.progname, self.last_check_connection.isoformat())) |
145 | 149 | self.buffer = [] # if we arrive here everything was sent successfully |
146 | 150 | |
… |
… |
|
199 | 203 | raise |
200 | 204 | |
| 205 | def sighandler(self, signum, frame): |
| 206 | self.flush_buffer() |
| 207 | if signum in (signal.SIGQUIT, signal.SIGTERM, signal.SIGINT): |
| 208 | sys.exit(signum) |
| 209 | |
| 210 | |
201 | 211 | def main(args=None): |
202 | 212 | import optparse |
… |
… |
|
210 | 220 | sys.stderr.flush() |
211 | 221 | return 1 |
212 | | S = Sender(args[0], intify(args[1], None), intify(options.buffertime, 0), options.backuppath, p.get_prog_name()) |
| 222 | S = Sender(args[0], intify(args[1], None), intify(options.buffertime, 0), options.backuppath, sys.stdin, p.get_prog_name()) |
213 | 223 | S.send() |
214 | 224 | |