def main(self): self.synchronizer.restore() Logger._instance.setQueue(self.logging_queue, False) System.prepareForSessionActions() # Prevent the process to be stop by a keyboard interruption signal.signal(signal.SIGINT, signal.SIG_IGN) signal.signal(signal.SIGTERM, signal.SIG_IGN) Logger.debug("Starting SessionManager process") while True: self.current_session_id.value = "" try: (request, obj) = self.queue2.get_nowait() except Queue.Empty: try: (request, obj) = self.queue.get(True, 4) except Queue.Empty, e: continue except IOError, e: if e.errno == 4: break else: raise e
def finalize(self): Logger._instance.setThreadedMode(False) self.update_locked_sessions() for session in self.sessions.values(): self.manager.session_switch_status(session, Session.SESSION_STATUS_WAIT_DESTROY) System.prepareForSessionActions() cleaner = SessionManagement(self.manager, None, None, None, None) for session in self.sessions.values(): session.end_status = Session.SESSION_END_STATUS_SHUTDOWN cleaner.destroy_session(session) self.manager.purgeGroup() Profile.cleanup()
def finalize(self): Logger._instance.setThreadedMode(False) self.update_locked_sessions() for session in self.sessions.values(): self.manager.session_switch_status( session, Session.SESSION_STATUS_WAIT_DESTROY) System.prepareForSessionActions() cleaner = SessionManagement(self.manager, None, None, None, None) for session in self.sessions.values(): session.end_status = Session.SESSION_END_STATUS_SHUTDOWN cleaner.destroy_session(session) self.manager.purgeGroup() Profile.cleanup()