def run(self, params): log.info("Getting context info...") return { "job_id": get_current_job().id, "worker_id": get_current_worker().id, "config": get_current_config() }
def flush(self, w=0): # We may log some stuff before we are even connected to Mongo! if not self.collection: return inserts = [{ "worker": k, "logs": "\n".join(v) + "\n" } for k, v in iteritems(self.buffer["workers"]) ] + [{ "job": k, "logs": "\n".join(v) + "\n" } for k, v in iteritems(self.buffer["jobs"])] if len(inserts) == 0: return self.reset() try: self.collection.insert(inserts, w=w) except Exception as e: # pylint: disable=broad-except from mrq.context import get_current_worker self.log("debug", "Log insert failed: %s" % e, worker=get_current_worker())
def handler(self): if self._handler: return self._handler # Import here to avoid import loop from .context import get_current_worker worker = get_current_worker() if worker: return worker.log_handler else: self._handler = LogHandler(quiet=self.quiet) return self._handler
def flush(self, w=0): # We may log some stuff before we are even connected to Mongo! if not self.collection: return inserts = [{ "worker": k, "logs": "\n".join(v) + "\n" } for k, v in iteritems(self.buffer["workers"])] + [{ "job": k, "logs": "\n".join(v) + "\n" } for k, v in iteritems(self.buffer["jobs"])] if len(inserts) == 0: return self.reset() try: self.collection.insert(inserts, w=w) except Exception as e: # pylint: disable=broad-except from mrq.context import get_current_worker self.log("debug", "Log insert failed: %s" % e, worker=get_current_worker())
def flush(self, w=0): # We may log some stuff before we are even connected to Mongo! if not self.collection: return inserts = [{ "worker": k, "logs": "\n".join(v) + "\n" } for k, v in self.buffer["workers"].iteritems()] + [{ "job": k, "logs": "\n".join(v) + "\n" } for k, v in self.buffer["jobs"].iteritems()] if len(inserts) == 0: return self.reset() try: self.collection.insert(inserts, w=w) except pymongo.errors.AutoReconnect: from mrq.context import get_current_worker self.log("debug", "Log insert failed.", worker=get_current_worker())