Esempio n. 1
0
    def test_handle_sighup_gracefully(self):
        self._setup_mocks_for_periodic_task()

        real_reset = worker.JournalPeriodicProcessor.reset

        mock_patcher = mock.patch.object(worker.JournalPeriodicProcessor,
                                         'reset',
                                         autospec=True)

        c2p_read = self.create_ipc_for_mock(mock_patcher, pre_hook=real_reset)

        pid = self._spawn_service(
            service_maker=lambda: worker.JournalPeriodicProcessor())
        self.addCleanup(self._kill_process, pid)

        cmd = self.assert_process_running(pid)

        os.kill(pid, signal.SIGHUP)

        self.assert_ipc_mock_called(c2p_read)

        new_cmd = self.assert_process_running(pid)
        self.assertEqual(cmd, new_cmd)
Esempio n. 2
0
 def _create_periodic_processor(self):
     periodic_processor = worker.JournalPeriodicProcessor()
     self.addCleanup(periodic_processor.stop)
     return periodic_processor
Esempio n. 3
0
 def get_workers(self):
     workers = [port_status_update.OdlPortStatusUpdate(),
                worker.JournalPeriodicProcessor()]
     workers += self.port_binding_controller.get_workers()
     return workers