def blank_dagobah(): global dagobah backend = BaseBackend() location = os.path.realpath( os.path.join(os.getcwd(), os.path.dirname(__file__))) dagobah = Dagobah(backend, ssh_config=os.path.join(location, "test_ssh_config"))
def __init__(self, backend=BaseBackend(), event_handler=None): """ Construct a new Dagobah instance with a specified Backend. """ self.backend = backend self.event_handler = event_handler self.dagobah_id = self.backend.get_new_dagobah_id() self.jobs = [] self.created_jobs = 0 self.scheduler = Scheduler(self) self.scheduler.daemon = True self.scheduler.start() self.commit()
def setup_class(self): self.dagobah = app.config['dagobah'] self.app = app.test_client() self.app.testing = True self.app.post('/do-login', data={'password': app.config['APP_PASSWORD']}) # force BaseBackend and eliminate registered jobs # picked up from default backend self.dagobah.set_backend(BaseBackend()) for job in self.dagobah.jobs: self.dagobah.delete_job(job.name) self.base_url = 'http://localhost:60000'
def get_backend(config): """ Returns a backend instance based on the Daemon config file. """ backend_string = get_conf(config, 'Dagobahd.backend', None) if backend_string is None: from dagobah.backend.base import BaseBackend return BaseBackend() elif backend_string.lower() == 'sqlite': backend_kwargs = {} for conf_kwarg in ['filepath']: backend_kwargs[conf_kwarg] = get_conf( config, 'SQLiteBackend.%s' % conf_kwarg) try: from dagobah.backend.sqlite import SQLiteBackend except: raise ImportError( 'Could not initialize the SQLite Backend. Are you sure' + ' the optional drivers are installed? If not, try running ' + '"pip install pysqlite sqlalchemy alembic" to install them.') return SQLiteBackend(**backend_kwargs) elif backend_string.lower() == 'mongo': backend_kwargs = {} for conf_kwarg in [ 'host', 'port', 'db', 'dagobah_collection', 'job_collection', 'log_collection' ]: backend_kwargs[conf_kwarg] = get_conf( config, 'MongoBackend.%s' % conf_kwarg) backend_kwargs['port'] = int(backend_kwargs['port']) try: from dagobah.backend.mongo import MongoBackend except: raise ImportError( 'Could not initialize the MongoDB Backend. Are you sure' + ' the optional drivers are installed? If not, try running ' + '"pip install pymongo" to install them.') return MongoBackend(**backend_kwargs) raise ValueError('unknown backend type specified in conf')
def blank_dagobah(): global dagobah backend = BaseBackend() dagobah = Dagobah(backend)