@bitblit/epsilon
Version:
Tiny adapter to simplify building API gateway Lambda APIS
27 lines (26 loc) • 1.74 kB
TypeScript
import { BackgroundEntry } from '../background-entry';
import { InternalBackgroundEntry } from '../internal-background-entry';
import { BackgroundManagerLike } from './background-manager-like';
/**
* Handles all submission of work to the background processing system.
*
* Note that this does NOT validate the input, it just passes it along. This is
* because it creates a circular reference to the processors if we try since they
* define the type and validation.
*/
export declare abstract class AbstractBackgroundManager implements BackgroundManagerLike {
abstract addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
abstract fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
abstract fireStartProcessingRequest(): Promise<string>;
abstract fetchApproximateNumberOfQueueEntries(): Promise<number>;
abstract get backgroundManagerName(): string;
abstract takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
createEntry<T>(type: string, data?: T): BackgroundEntry<T>;
wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<InternalBackgroundEntry<T>>;
addEntryToQueueByParts<T>(type: string, data?: T, fireStartMessage?: boolean): Promise<string>;
addEntriesToQueue(entries: BackgroundEntry<any>[], fireStartMessage?: boolean): Promise<string[]>;
fireImmediateProcessRequestByParts<T>(type: string, data?: T): Promise<string>;
static generateBackgroundGuid(targetEpochMS?: number): string;
static backgroundGuidToPath(prefix: string, guid: string): string;
static pathToBackgroundGuid(prefix: string, path: string): string;
}