Exemple #1
0
 def update_or_add(cls, ip, port, status):
     try:
         slave = session.query(SqliteTable).filter(
             SqliteTable.ip == ip, SqliteTable.port == port).one()
         cls.slave_update(ip, port, status)
     except NoResultFound:
         cls.slave_add(ip, port, status)
Exemple #2
0
 def remove_zombies(cls):
     """ remove slave zombies ,this method can be called peroidly,but not frequently,
     because it is operating the database
     """
     current_time = datetime.now()
     valide_period = timedelta(seconds=settings.DETECT_ZOMBIE_FRENQUENCY)
     expire = current_time - valide_period
     zombie_slaves = session.query(SqliteTable).filter(SqliteTable.update_time < expire).delete()
Exemple #3
0
 def remove_zombies(cls):
     """ remove slave zombies ,this method can be called peroidly,but not frequently,
     because it is operating the database
     """
     current_time = datetime.now()
     valide_period = timedelta(seconds=settings.DETECT_ZOMBIE_FRENQUENCY)
     expire = current_time - valide_period
     zombie_slaves = session.query(SqliteTable).filter(
         SqliteTable.update_time < expire).delete()
Exemple #4
0
 def get_command(cls, ip, port):
     cmd = session.query(SqliteTable).filter(
         SqliteTable.ip == ip, SqliteTable.port == port).one()
     return cmd
Exemple #5
0
 def slave_update(cls, ip, port, status):
     session.query(SqliteTable).filter(
         SqliteTable.ip == ip, SqliteTable.port == port).update(status)
     session.commit()
Exemple #6
0
 def slave_remove(cls, ip, port):
     session.query(SqliteTable).filter(SqliteTable.ip == ip,
                                       SqliteTable.port == port).delete()
     session.commit()
Exemple #7
0
 def exists(cls, ip, port):
     """ check whether the slave exists """
     return session.query(exists().where(
         and_(SqliteTable.ip == ip, SqliteTable.port == port))).scalar()
Exemple #8
0
 def all(cls, offset=0, limit=100):
     """ get all the slaves """
     all_slaves = session.query(SqliteTable).offset(offset).limit(
         limit).all()
     return all_slaves
Exemple #9
0
 def get_command(cls,ip,port):
     cmd = session.query(SqliteTable).filter(SqliteTable.ip==ip,SqliteTable.port==port).one()
     return cmd
Exemple #10
0
 def update_or_add(cls,ip,port,status):
     try:
         slave = session.query(SqliteTable).filter(SqliteTable.ip==ip,SqliteTable.port==port).one()
         cls.slave_update(ip,port,status)
     except NoResultFound:
         cls.slave_add(ip,port,status)
Exemple #11
0
 def slave_update(cls,ip,port,status):
     session.query(SqliteTable).filter(SqliteTable.ip==ip,SqliteTable.port==port).update(status)
     session.commit()
Exemple #12
0
 def slave_remove(cls,ip,port):
     session.query(SqliteTable).filter(SqliteTable.ip==ip,SqliteTable.port==port).delete()
     session.commit()
Exemple #13
0
 def exists(cls,ip,port):
     """ check whether the slave exists """
     return session.query(exists().where(and_(SqliteTable.ip == ip,SqliteTable.port==port))).scalar()
Exemple #14
0
 def all(cls,offset=0,limit=100):
     """ get all the slaves """
     all_slaves = session.query(SqliteTable).offset(offset).limit(limit).all()
     return all_slaves