예제 #1
0
 def act(self):
     workerName = self.get(cons.BASE_NAME, '')
     if not workerName:
         logger.error('empty worker name {}'.format(self.decodedMessage))
         return
     logger.info('worker {} registering'.format(workerName))
     if workerName not in admin.workers:
         engine = monkapi.load_engine(workerName)
         if not engine:
             engineScript = {Engine.NAME: workerName,\
                             Engine.CREATOR: cons.DEFAULT_CREATOR,\
                             Engine.FPARTITION: self.next_partition(),\
                             Engine.FSTARTTIME: datetime.datetime.now(),\
                             Engine.FPID: self.get(Engine.FPID),\
                             Engine.FSTATUS: cons.STATUS_ACTIVE}
             logger.info('creating worker {}'.format(engineScript))
             engine = monkapi.create_engine(engineScript)
         admin.workers[workerName] = engine
     else:
         engine = admin.workers[workerName]
         engine._setattr(Engine.FSTARTTIME, datetime.datetime.now())
         engine._setattr(Engine.FSTATUS, cons.STATUS_ACTIVE)
         engine._setattr(Engine.FADDRESS, self.get(Engine.FADDRESS))
         engine._setattr(Engine.FPID,     self.get(Engine.FPID))
         engine.save()
     offsetSkip = self.get('offsetSkip', -1)
     admin.adminBroker.acknowledge_registration(workerName, engine.partition, offsetSkip)
예제 #2
0
 def act(self):
     workerName = self.get(cons.BASE_NAME, '')
     if not workerName:
         logger.error('empty worker name {}'.format(self.decodedMessage))
         return
     logger.info('worker {} registering'.format(workerName))
     if workerName not in admin.workers:
         engine = monkapi.load_engine(workerName)
         if not engine:
             engineScript = {Engine.NAME: workerName,\
                             Engine.CREATOR: cons.DEFAULT_CREATOR,\
                             Engine.FPARTITION: self.next_partition(),\
                             Engine.FSTARTTIME: datetime.datetime.now(),\
                             Engine.FPID: self.get(Engine.FPID),\
                             Engine.FSTATUS: cons.STATUS_ACTIVE}
             logger.info('creating worker {}'.format(engineScript))
             engine = monkapi.create_engine(engineScript)
         admin.workers[workerName] = engine
     else:
         engine = admin.workers[workerName]
         engine._setattr(Engine.FSTARTTIME, datetime.datetime.now())
         engine._setattr(Engine.FSTATUS, cons.STATUS_ACTIVE)
         engine._setattr(Engine.FADDRESS, self.get(Engine.FADDRESS))
         engine._setattr(Engine.FPID, self.get(Engine.FPID))
         engine.save()
     offsetSkip = self.get('offsetSkip', -1)
     admin.adminBroker.acknowledge_registration(workerName,
                                                engine.partition,
                                                offsetSkip)
예제 #3
0
 def act(self):
     workerName = self.get(Engine.NAME, '')
     if workerName not in admin.workers:
         engine = monkapi.load_engine(workerName)
         if not engine:
             logger.info('worker {} not registered'.format(workerName))
             return
         admin.workers[workerName] = engine
         logger.debug('workers {}'.format(admin.workers.keys()))
     else:
         engine = admin.workers[workerName]
     engine._setattr(Engine.FADDRESS, self.get(Engine.FADDRESS))
     engine._setattr(Engine.FPID,     self.get(Engine.FPID))
     engine._setattr(Engine.FSTATUS,  cons.STATUS_ACTIVE)
     engine.save()
예제 #4
0
 def act(self):
     workerName = self.get(Engine.NAME, '')
     if workerName not in admin.workers:
         engine = monkapi.load_engine(workerName)
         if not engine:
             logger.info('worker {} not registered'.format(workerName))
             return
         admin.workers[workerName] = engine
         logger.debug('workers {}'.format(admin.workers.keys()))
     else:
         engine = admin.workers[workerName]
     engine._setattr(Engine.FADDRESS, self.get(Engine.FADDRESS))
     engine._setattr(Engine.FPID, self.get(Engine.FPID))
     engine._setattr(Engine.FSTATUS, cons.STATUS_ACTIVE)
     engine.save()