UNPKG

torotask

Version:

Task queue processing in NodeJS based on BullMQ and Redis

27 lines 1.64 kB
import type { JobNode } from 'bullmq'; import type { TaskJobOptions, TaskJobState } from './job.js'; import type { TaskDefForGroup, TaskGroupDefinitionRegistry, TaskKeysForGroup } from './task-group.js'; import type { TaskPayloadFromDef } from './task.js'; export type TaskFlowRunBaseOptions = Omit<TaskJobOptions, 'repeat' | 'parent'>; export type TaskFlowRunOptions = TaskFlowRunBaseOptions & Pick<TaskJobOptions, 'parent'>; export type TaskFlowRunChildOptions = TaskFlowRunBaseOptions; interface SpecificFlowRunConfig<TAllTaskGroupsDefs extends TaskGroupDefinitionRegistry, GName extends keyof TAllTaskGroupsDefs, TName extends TaskKeysForGroup<TAllTaskGroupsDefs, GName>, TOptions = TaskFlowRunOptions, TDef extends TaskDefForGroup<TAllTaskGroupsDefs, GName, TName> = TaskDefForGroup<TAllTaskGroupsDefs, GName, TName>> { taskGroup: GName; taskName: TName; name?: string; payload?: TaskPayloadFromDef<TDef>; state?: TaskJobState; options?: TOptions; children?: TaskFlowRun<TAllTaskGroupsDefs, TaskFlowRunChildOptions>[]; } export type TaskFlowRun<TAllTaskGroupsDefs extends TaskGroupDefinitionRegistry = TaskGroupDefinitionRegistry, TOptions extends TaskFlowRunBaseOptions = TaskFlowRunOptions> = { [GKey in keyof TAllTaskGroupsDefs]: { [TKey in TaskKeysForGroup<TAllTaskGroupsDefs, GKey>]: SpecificFlowRunConfig<TAllTaskGroupsDefs, GKey, TKey, TOptions>; }[TaskKeysForGroup<TAllTaskGroupsDefs, GKey>]; }[keyof TAllTaskGroupsDefs]; export type TaskFlowGroupRun = TaskFlowRun<any> & { taskGroup?: string; }; export type TaskFlowRunNode = JobNode; export {}; //# sourceMappingURL=flow.d.ts.map