def write(self, template, params): try: with self.file_lock: self.file.append(expand_template(template, params)) except Exception, e: _Log.warning("Problem writing to file {{file}}, waiting...", file=file.name, cause=e) _Till(seconds=5).wait()
def worker(logger, please_stop): try: while not please_stop: _Till(seconds=1).wait() logs = self.queue.pop_all() for log in logs: if log is _Thread.STOP: please_stop.go() else: logger.write(**log) finally: logger.stop()