コード例 #1
0
ファイル: dag_processing.py プロジェクト: zhongjiajie/airflow
 def end(self):
     """
     Kill all child processes on exit since we don't want to leave
     them as orphaned.
     """
     pids_to_kill = self.get_all_pids()
     if pids_to_kill:
         kill_child_processes_by_pids(pids_to_kill)
コード例 #2
0
ファイル: test_process_utils.py プロジェクト: ygdmxy/airflow
    def test_should_kill_process(self):
        before_num_process = subprocess.check_output(["ps", "-ax", "-o", "pid="]).decode().count("\n")

        process = multiprocessing.Process(target=my_sleep_subprocess, args=())
        process.start()
        sleep(0)

        num_process = subprocess.check_output(["ps", "-ax", "-o", "pid="]).decode().count("\n")
        self.assertEqual(before_num_process + 1, num_process)

        process_utils.kill_child_processes_by_pids([process.pid])

        num_process = subprocess.check_output(["ps", "-ax", "-o", "pid="]).decode().count("\n")
        self.assertEqual(before_num_process, num_process)
コード例 #3
0
ファイル: test_process_utils.py プロジェクト: ygdmxy/airflow
    def test_should_force_kill_process(self):
        before_num_process = subprocess.check_output(["ps", "-ax", "-o", "pid="]).decode().count("\n")

        process = multiprocessing.Process(target=my_sleep_subprocess_with_signals, args=())
        process.start()
        sleep(0)

        num_process = subprocess.check_output(["ps", "-ax", "-o", "pid="]).decode().count("\n")
        self.assertEqual(before_num_process + 1, num_process)

        with self.assertLogs(process_utils.log) as cm:
            process_utils.kill_child_processes_by_pids([process.pid], timeout=0)
        self.assertTrue(any("Killing child PID" in line for line in cm.output))

        num_process = subprocess.check_output(["ps", "-ax", "-o", "pid="]).decode().count("\n")
        self.assertEqual(before_num_process, num_process)
コード例 #4
0
    def test_should_force_kill_process(self):

        process = multiprocessing.Process(
            target=my_sleep_subprocess_with_signals, args=())
        process.start()
        sleep(0)

        all_processes = subprocess.check_output(["ps", "-ax", "-o", "pid="
                                                 ]).decode().splitlines()
        assert str(process.pid) in map(lambda x: x.strip(), all_processes)

        with self.assertLogs(process_utils.log) as cm:
            process_utils.kill_child_processes_by_pids([process.pid],
                                                       timeout=0)
        assert any("Killing child PID" in line for line in cm.output)
        sleep(0)
        all_processes = subprocess.check_output(["ps", "-ax", "-o", "pid="
                                                 ]).decode().splitlines()
        assert str(process.pid) not in map(lambda x: x.strip(), all_processes)