示例#1
0
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"))
示例#2
0
文件: core.py 项目: surbas/dagobah
    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()
示例#3
0
    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'
示例#4
0
文件: daemon.py 项目: surbas/dagobah
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')
示例#5
0
def blank_dagobah():
    global dagobah
    backend = BaseBackend()
    dagobah = Dagobah(backend)