Пример #1
0
def drop_offline_users():
    try:
        time_limit = now() - LAST_ACTION_TIME_LIMIT
        for u in db().user.find({"online": True, "last_action": {"$lt": time_limit}}):
            try:
                user = User(u)
                user.do_logout()
            except:
                log_exception()
                log_warning('Error trying to log out user %s. Forcing logout...' % u.get('name'))
                db().user.update({"_id": u["_id"]}, {"$set": {"online": False}})
        add_timeout("drop_offline_users", LAST_ACTION_TIME_LIMIT)
    except:
        log_exception()
        log_error('Error in task drop_offline_users.')