Part of lp.services.twistedsupport.processmonitor View In Hierarchy
Known subclasses: lp.codehosting.codeimport.workermonitor.CodeImportWorkerMonitorProtocol, lp.codehosting.puller.scheduler.PullerMonitorProtocol
Note that this class does not define activity in any way: your subclass
should call the resetTimeout()
from TimeoutMixin
when it deems the
subprocess has made progress.
Instance Variables | _timeout | The subprocess will be killed after this many seconds of inactivity. |
Method | __init__ | Construct an instance of the protocol, for listening to a worker. |
Method | callLater | Override TimeoutMixin.callLater so we use self._clock. |
Method | connectionMade | Start the timeout counter when connection is made. |
Method | timeoutConnection | When a timeout occurs, kill the process and record a TimeoutError. |
Method | processEnded | See ProcessMonitorProtocol.processEnded . |
Inherited from ProcessMonitorProtocol:
Method | runNotification | Run a given function in series with other notifications. |
Method | unexpectedError | Something's gone wrong: kill the subprocess and report failure. |
Inherited from ProcessProtocolWithTwoStageKill (via ProcessMonitorProtocol):
Method | terminateProcess | Terminate the process by SIGINT initially, but SIGKILL if needed. |
Method | _sigkill | Forcefully kill the process. |
Parameters | deferred | Passed to ProcessMonitorProtocol.__init__ . |
timeout | The subprocess will be killed after this many seconds of inactivity. | |
clock | Passed to ProcessMonitorProtocol.__init__ . |
This allows us to write unit tests that don't depend on actual wall clock time.