def _expire_sessions(self):
     from porcupine.core.runtime import logger
     while self._is_active:
         for sessionid in self._list:
             session = self.get_session(sessionid, revive=False)
             if time.time() - session._last_accessed > self.timeout:
                 logger.debug('Expiring Session: %s' % sessionid)
                 session.terminate()
                 logger.debug('Total active sessions: %s' % \
                              str(len(self._list)))
             else:
                 break
         time.sleep(1.0)
Example #2
0
    def _remove_inactive_sessions(self):
        expire_threshold = (time.time() - self.timeout - self.revive_threshold)

        # get inactive sessions
        condition = ('modified', (None, [expire_threshold, False]))
        cursor = db._db.query((condition, ))
        cursor.set_scope(self.session_container_id)
        cursor.enforce_permissions = False
        sessions = [session for session in cursor]
        #print(sessions)
        cursor.close()

        for session in sessions:
            logger.debug('Expiring Session: %s' % session.id)
            session.terminate()
Example #3
0
 def _expire_sessions(self):
     from porcupine.core.runtime import logger
     while self._is_active:
         expire_threshold = time.time() - self.timeout - \
                            self.revive_threshold
         for sessionid in self._list:
             session = self.get_session(sessionid)
             if session._last_accessed < expire_threshold:
                 logger.debug('Expiring Session: %s' % sessionid)
                 session.terminate()
                 logger.debug('Total active sessions: %s' % \
                              str(len(self._list)))
             else:
                 break
         time.sleep(3.0)
Example #4
0
    def _remove_inactive_sessions(self):
        expire_threshold = (time.time() -
                            self.timeout -
                            self.revive_threshold)

        # get inactive sessions
        condition = ('modified', (None, [expire_threshold, False]))
        cursor = db._db.query((condition, ))
        cursor.set_scope(self.session_container_id)
        cursor.enforce_permissions = False
        sessions = [session for session in cursor]
        #print(sessions)
        cursor.close()

        for session in sessions:
            logger.debug('Expiring Session: %s' % session.id)
            session.terminate()
 def _expire_sessions(self):
     from porcupine.core.runtime import logger
     while self._is_active:
         try:
             # get inactive sessions
             cursor = db._db.join((
                 ('_parentid', '_sessions'),
                 ('modified', (None, time.time() - self.timeout))), None)
             cursor.fetch_all = True
             sessions = [session for session in cursor]
             cursor.close()
             for session in sessions:
                 logger.debug('Expiring Session: %s' % session.id)
                 session.terminate()
         except Exception, e:
             logger.error('Error in session expiration thread: %s' % e)
         time.sleep(3.0)