예제 #1
0
 def _init_worker(self):
     self.workers = {}
     dbreplicas = self.controller.get_all()
     for dbreplica in dbreplicas:
         worker = ReplicaWorker(self.persistence, dbreplica, self.config)
         worker.start()
         self.workers[dbreplica.id] = worker
예제 #2
0
 def _init_worker(self):
     self.workers = {}
     dbreplicas = self.controller.get_all()
     for dbreplica in dbreplicas:
         worker = ReplicaWorker(self.persistence, dbreplica, self.config)
         worker.start()
         self.workers[dbreplica.id] = worker        
예제 #3
0
 def worker_restart(self, replica_id):
     if not self.workers.has_key(replica_id):
         raise Exception("worker not exist")
     else:
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id))
         worker.start()
         self.workers[replica_id] = worker
         return "ok"     
예제 #4
0
 def worker_restart(self, replica_id):
     if not self.workers.has_key(replica_id):
         raise Exception("worker not exist")
     else:
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id))
         worker.start()
         self.workers[replica_id] = worker
         return "ok"
예제 #5
0
 def del_slave(self, replica_id, slave_id):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     else:        
         self.controller.del_slave(replica_id, slave_id)
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker            
         return "ok"        
예제 #6
0
 def update_check_period(self, replica_id, check_period):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     else:
         self.controller.update_check_period(replica_id, int(check_period))
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker
         return "ok"
예제 #7
0
 def del_slave(self, replica_id, slave_id):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     else:
         self.controller.del_slave(replica_id, slave_id)
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker
         return "ok"
예제 #8
0
 def update_no_slave_purge(self, replica_id, no_slave_purge):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     else:
         self.controller.update_no_slave_purge(replica_id, 
                                               int(no_slave_purge))
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker            
         return "ok"        
예제 #9
0
 def update_binlog_window(self, replica_id, binlog_window):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     else:
         self.controller.update_binlog_window(replica_id, 
                                              int(binlog_window))
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker            
         return "ok"
예제 #10
0
 def update_no_slave_purge(self, replica_id, no_slave_purge):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     else:
         self.controller.update_no_slave_purge(replica_id,
                                               int(no_slave_purge))
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker
         return "ok"
예제 #11
0
 def add(self, replica_id, name, master, slaves, 
         check_period=60, binlog_window=0, no_slave_purge=1):
     if self.workers.has_key(replica_id):
         raise Exception("duplicate replication")
     else:
         dbreplica = DBReplica(replica_id, name, master, slaves, 
                               int(check_period), 
                               int(binlog_window),
                               int(no_slave_purge))
         worker = ReplicaWorker(self.persistence, dbreplica, self.config)
         worker.start()
         self.workers[replica_id] = worker
         self.controller.add(dbreplica)            
         return "ok"
예제 #12
0
 def add_slave(self, replica_id, slave_id):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     elif self.dbinstance_controller.get(slave_id) is None:
         raise Exception("no %s slave instance" % slave_id)
     else:        
         self.controller.add_slave(replica_id, slave_id)
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence, 
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker            
         return "ok"
예제 #13
0
 def add_slave(self, replica_id, slave_id):
     if not self.workers.has_key(replica_id):
         raise Exception("replication not exist")
     elif self.dbinstance_controller.get(slave_id) is None:
         raise Exception("no %s slave instance" % slave_id)
     else:
         self.controller.add_slave(replica_id, slave_id)
         self.workers[replica_id].stop()
         worker = ReplicaWorker(self.persistence,
                                self.controller.get(replica_id),
                                self.config)
         worker.start()
         self.workers[replica_id] = worker
         return "ok"
예제 #14
0
 def add(self,
         replica_id,
         name,
         master,
         slaves,
         check_period=60,
         binlog_window=0,
         no_slave_purge=1):
     if self.workers.has_key(replica_id):
         raise Exception("duplicate replication")
     else:
         dbreplica = DBReplica(replica_id, name, master, slaves,
                               int(check_period), int(binlog_window),
                               int(no_slave_purge))
         worker = ReplicaWorker(self.persistence, dbreplica, self.config)
         worker.start()
         self.workers[replica_id] = worker
         self.controller.add(dbreplica)
         return "ok"