Exemple #1
0
 def run_subprocess():
     transport, protocol = yield from loop.subprocess_shell(
             protocol_factory,
             cmd, stdin=stdin, stdout=stdout,
             stderr=stderr, **kwds)
     process = Process(transport, protocol, loop)
     protocol.configure_handler(process, callback)
     yield from process.wait()
     return process
Exemple #2
0
    async def _stop_process(self, process: Process):
        """Stop a process

        Args:
            process (Process): the process to stop
        """
        if process.returncode is None:
            process.terminate()
            try:
                await asyncio.wait_for(process.wait(), 5)
            except asyncio.TimeoutError:
                process.kill()
Exemple #3
0
 def run_subprocess():
     transport, protocol = yield from loop.subprocess_shell(
         protocol_factory,
         cmd,
         stdin=stdin,
         stdout=stdout,
         stderr=stderr,
         **kwds)
     process = Process(transport, protocol, loop)
     protocol.configure_handler(process, callback)
     yield from process.wait()
     return process
 def _consume_in_subprocess(self, job, kwargs):
     params = dict(self.json_params())
     loop = job._loop
     protocol_factory = lambda: StreamProtocol(job)
     transport, protocol = yield from loop.subprocess_exec(
         protocol_factory,
         sys.executable,
         PROCESS_FILE,
         json.dumps(sys.path),
         json.dumps(params),
         job.task.serialise())
     process = Process(transport, protocol, loop)
     yield from process.wait()
     if job.task.stacktrace:
         raise RemoteStackTrace
     return job.task.result