def __init__(self, dest, db_stats=False, namespace=STAMPEDE_NS, props=None, db_type=None, backup=False, **kw): self._namespace = namespace #pick the right database loader based on prefix if namespace == STAMPEDE_NS: self._db = WorkflowLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) elif namespace == DASHBOARD_NS: self._db = DashboardLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) else: raise ValueError("Unknown namespace specified '%s'" % (namespace)) super(DBEventSink, self).__init__()
def __init__(self, dest, db_stats=False, namespace=STAMPEDE_NS, props=None, db_type=None, backup=False, **kw): self._namespace=namespace #pick the right database loader based on prefix if namespace == STAMPEDE_NS: self._db = WorkflowLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) elif namespace == DASHBOARD_NS: self._db = DashboardLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) else: raise ValueError("Unknown namespace specified '%s'" % (namespace)) super(DBEventSink, self).__init__()
class DBEventSink(EventSink): """ Write wflow event logs to database via loader """ def __init__(self, dest, db_stats=False, namespace=STAMPEDE_NS, props=None, db_type=None, backup=False, **kw): self._namespace=namespace #pick the right database loader based on prefix if namespace == STAMPEDE_NS: self._db = WorkflowLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) elif namespace == DASHBOARD_NS: self._db = DashboardLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) else: raise ValueError("Unknown namespace specified '%s'" % (namespace)) super(DBEventSink, self).__init__() def send(self, event, kw): self._log.trace("send.start event=%s", event) d = {'event' : self._namespace + event} for k, v in kw.iteritems(): d[k.replace('__','.')] = v self._db.process(d) self._log.trace("send.end event=%s", event) def close(self): self._log.trace("close.start") self._db.finish() self._log.trace("close.end") def flush(self): self._db.flush()
class DBEventSink(EventSink): """ Write wflow event logs to database via loader """ def __init__(self, dest, db_stats=False, namespace=STAMPEDE_NS, props=None, db_type=None, backup=False, **kw): self._namespace=namespace #pick the right database loader based on prefix if namespace == STAMPEDE_NS: self._db = WorkflowLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) elif namespace == DASHBOARD_NS: self._db = DashboardLoader(dest, perf=db_stats, batch=True, props=props, db_type=db_type, backup=backup) else: raise ValueError("Unknown namespace specified '%s'" % (namespace)) super(DBEventSink, self).__init__() def send(self, event, kw): self._log.trace("send.start event=%s", event) d = {'event' : self._namespace + event} for k, v in kw.items(): d[k.replace('__','.')] = v self._db.process(d) self._log.trace("send.end event=%s", event) def close(self): self._log.trace("close.start") self._db.finish() self._log.trace("close.end") def flush(self): self._db.flush()