def from_local(cls, base_dir, inst_data=None): check.str_param(base_dir, "base_dir") mkdir_p(base_dir) conn_string = create_db_conn_string(base_dir, "runs") engine = create_engine(conn_string, poolclass=NullPool) alembic_config = get_alembic_config(__file__) should_mark_indexes = False with engine.connect() as connection: db_revision, head_revision = check_alembic_revision( alembic_config, connection) if not (db_revision and head_revision): RunStorageSqlMetadata.create_all(engine) engine.execute("PRAGMA journal_mode=WAL;") stamp_alembic_rev(alembic_config, connection) should_mark_indexes = True table_names = db.inspect(engine).get_table_names() if "instance_info" not in table_names: InstanceInfo.create(engine) run_storage = cls(conn_string, inst_data) if should_mark_indexes: run_storage.migrate() run_storage.optimize() return run_storage
def __init__(self, base_dir, inst_data=None): self._base_dir = check.str_param(base_dir, 'base_dir') self._conn_string = create_db_conn_string(base_dir, SQLITE_EVENT_LOG_FILENAME) self._inst_data = check.opt_inst_param(inst_data, 'inst_data', ConfigurableClassData) self._watchdog = None self._watchers = defaultdict(dict) self._obs = Observer() self._obs.start() if not os.path.exists(self.get_db_path()): self._init_db()
def from_local(base_dir, inst_data=None): check.str_param(base_dir, 'base_dir') mkdir_p(base_dir) conn_string = create_db_conn_string(base_dir, 'schedules') engine = create_engine(conn_string, poolclass=NullPool) engine.execute('PRAGMA journal_mode=WAL;') ScheduleStorageSqlMetadata.create_all(engine) connection = engine.connect() alembic_config = get_alembic_config(__file__) db_revision, head_revision = check_alembic_revision(alembic_config, connection) if not (db_revision and head_revision): stamp_alembic_rev(alembic_config, engine) return SqliteScheduleStorage(conn_string, inst_data)
def from_local(base_dir, inst_data=None): check.str_param(base_dir, "base_dir") mkdir_p(base_dir) conn_string = create_db_conn_string(base_dir, "runs") engine = create_engine(conn_string, poolclass=NullPool) alembic_config = get_alembic_config(__file__) with engine.connect() as connection: db_revision, head_revision = check_alembic_revision(alembic_config, connection) if not (db_revision and head_revision): RunStorageSqlMetadata.create_all(engine) engine.execute("PRAGMA journal_mode=WAL;") stamp_alembic_rev(alembic_config, connection) return SqliteRunStorage(conn_string, inst_data)
def __init__(self, base_dir, inst_data=None): self._base_dir = check.str_param(base_dir, "base_dir") self._conn_string = create_db_conn_string(base_dir, SQLITE_EVENT_LOG_FILENAME) self._secondary_index_cache = {} self._inst_data = check.opt_inst_param(inst_data, "inst_data", ConfigurableClassData) self._watchers = defaultdict(dict) self._obs = None if not os.path.exists(self.get_db_path()): self._init_db() super().__init__()
def from_local(base_dir, inst_data=None): check.str_param(base_dir, "base_dir") mkdir_p(base_dir) conn_string = create_db_conn_string(base_dir, "runs") engine = create_engine(conn_string, poolclass=NullPool) alembic_config = get_alembic_config(__file__) should_mark_indexes = False with engine.connect() as connection: db_revision, head_revision = check_alembic_revision(alembic_config, connection) if not (db_revision and head_revision): RunStorageSqlMetadata.create_all(engine) engine.execute("PRAGMA journal_mode=WAL;") stamp_alembic_rev(alembic_config, connection) should_mark_indexes = True run_storage = SqliteRunStorage(conn_string, inst_data) if should_mark_indexes: # mark all secondary indexes run_storage.build_missing_indexes() return run_storage
def from_local(cls, base_dir, inst_data=None): check.str_param(base_dir, "base_dir") mkdir_p(base_dir) conn_string = create_db_conn_string(base_dir, "schedules") engine = create_engine(conn_string, poolclass=NullPool) alembic_config = get_alembic_config(__file__) should_migrate_data = False with engine.connect() as connection: db_revision, head_revision = check_alembic_revision( alembic_config, connection) if not (db_revision and head_revision): ScheduleStorageSqlMetadata.create_all(engine) engine.execute("PRAGMA journal_mode=WAL;") stamp_alembic_rev(alembic_config, connection) should_migrate_data = True schedule_storage = cls(conn_string, inst_data) if should_migrate_data: schedule_storage.migrate() schedule_storage.optimize() return schedule_storage
def conn_string_for_run_id(self, run_id): check.str_param(run_id, "run_id") return create_db_conn_string(self._base_dir, run_id)
def conn_string_for_shard(self, shard_name): check.str_param(shard_name, "shard_name") return create_db_conn_string(self._base_dir, shard_name)