def init(self, core, testing=False): # key (str) -> ComponentLock or PersistentLock self.permanent_locks = {} self.volatile_locks = {} self.thread_lock = threading.Lock() self.cleanup_task = scheduleRepeat(CLEANUP_PERIOD, self.cleanup) self.init_core(core)
def addStream(self, context, stream): stream.id = self.next_id self.next_id += 1 context.stream_id = stream.id self.streams[stream.id] = stream key = (stream.host, stream.port) try: self.address_to_streams[key].add(stream.id) except KeyError: self.address_to_streams[key] = set((stream.id,)) stream.cron = scheduleRepeat(stream.period, stream.run) return stream.id
def init(self, core): # Get max duration minutes = core.config.getint('CORE', 'max_session_duration') self.max_session_duration = timedelta(minutes=minutes) # Get the directory vardir = core.config.get('CORE', 'vardir') self.path = path_join(vardir, "sessions") mkdirNew(self.path) # Register the manager core.session_manager = self self.core = core # cookie => Session object self.sessions = {} # Remove old sessions each minute self.cleanup_task = scheduleRepeat(60, self.cleanup)
def start(self): self.stop() self.cron = scheduleRepeat(self.period, self.export_table)