def create_daemon_of_type(daemon_type): if daemon_type == SchedulerDaemon.daemon_type(): return SchedulerDaemon.create_from_instance(DagsterInstance.get()) elif daemon_type == SensorDaemon.daemon_type(): return SensorDaemon.create_from_instance(DagsterInstance.get()) elif daemon_type == QueuedRunCoordinatorDaemon.daemon_type(): return QueuedRunCoordinatorDaemon.create_from_instance( DagsterInstance.get()) else: raise Exception("Unexpected daemon type {daemon_type}".format( daemon_type=daemon_type))
def create_daemons_from_instance(instance): daemon_types = required_daemons(instance) daemons = [] # Separate instance for each daemon since each is in its own thread for daemon_type in daemon_types: if daemon_type == SchedulerDaemon.daemon_type(): daemons.append( SchedulerDaemon.create_from_instance(DagsterInstance.get())) elif daemon_type == SensorDaemon.daemon_type(): daemons.append( SensorDaemon.create_from_instance(DagsterInstance.get())) elif daemon_type == QueuedRunCoordinatorDaemon.daemon_type(): daemons.append( QueuedRunCoordinatorDaemon.create_from_instance( DagsterInstance.get())) else: raise Exception("Unexpected daemon type {daemon_type}".format( daemon_type=daemon_type)) return daemons