コード例 #1
0
ファイル: lock.py プロジェクト: maximerobin/Ufwi
    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)
コード例 #2
0
ファイル: streaming.py プロジェクト: maximerobin/Ufwi
 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
コード例 #3
0
ファイル: session.py プロジェクト: maximerobin/Ufwi
    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)
コード例 #4
0
ファイル: exporter.py プロジェクト: maximerobin/Ufwi
 def start(self):
     self.stop()
     self.cron = scheduleRepeat(self.period, self.export_table)