def do_start(self): if not self.log: self.log = RotatingFile(self.logfile, maxBytes=self.logfile_maxbytes, backupCount=self.logfile_backups) if self.is_ok(): msg = self.name + ' has already been started' else: self.log.info('start '+self.name) n = 0 while n < self.startretries: self.process = Popen(self.command, stdout=self.log, stderr=self.log, shell=True, cwd=self.cwd) gevent.sleep(self.starting_time) if self.process.poll() is not None: #error self.log.info('start '+self.name+' failed!, times=%d'%n) n += 1 else: self.start_time = datetime.datetime.now() break #if stopped then status is Fatal if n == self.startretries: self.stop = FATAL msg = self.name + ' started failed' else: self.stop = RUNNING msg = self.name + ' started' return msg
def _getLogger(self): from logfile import RotatingFile logger = RotatingFile( os.path.join(self.startpath, self.ini.server.get('log_to', 'pywatcher.log')), maxBytes=self.ini.server.get('logfile_maxbytes', 50 * 1024 * 1024), backupCount=self.ini.server.get('logfile_backups', 10)) return logger