@vulcan-sql/core
Version:
Core package of VulcanSQL
28 lines (27 loc) • 1.1 kB
TypeScript
import { APISchema, IActivityLogger } from '../../models/index';
import { ICacheLayerLoader } from './cacheLayerLoader';
export interface ICacheLayerRefresher {
/**
* Start the job to load the data source to cache storage and created tables from cache settings in schemas
* @param schemas The API schemas from artifact to load and schedule
* @param runImmediately If true, the refresh job will be run immediately after start
*/
start(schemas: Array<APISchema>, runImmediately?: boolean): Promise<void>;
stop(): void;
}
export declare class CacheLayerRefresher implements ICacheLayerRefresher {
private cacheLoader;
private scheduler;
private activityLoggers;
private logger;
constructor(loader: ICacheLayerLoader, activityLoggers: IActivityLogger[]);
start(schemas: Array<APISchema>, runImmediately?: boolean): Promise<void>;
/**
* Stop the cache layer loader
*/
stop(): void;
private loadCacheAndSendActivityLog;
private getActivityLoggers;
private checkDuplicateCacheTableName;
private checkDuplicateIndex;
}