UNPKG

cnpmcore

Version:
95 lines (94 loc) 3.03 kB
import { Entity, EntityData } from './Entity'; import { TaskType, TaskState } from '../../common/enum/Task'; import { HookEvent } from './HookEvent'; export declare const HOST_NAME: string; export declare const PID: number; export interface TaskBaseData { taskWorker: string; } export interface TaskData<T = TaskBaseData> extends EntityData { taskId: string; type: TaskType; state: TaskState; targetName: string; authorId: string; authorIp: string; data: T; logPath?: string; logStorePosition?: string; attempts?: number; error?: string; bizId?: string; } export type SyncPackageTaskOptions = { authorId?: string; authorIp?: string; tips?: string; skipDependencies?: boolean; syncDownloadData?: boolean; forceSyncHistory?: boolean; registryId?: string; specificVersions?: Array<string>; }; export interface CreateHookTaskData extends TaskBaseData { hookEvent: HookEvent; } export interface TriggerHookTaskData extends TaskBaseData { hookEvent: HookEvent; hookId: string; responseStatus?: number; } export interface CreateSyncPackageTaskData extends TaskBaseData { tips?: string; skipDependencies?: boolean; syncDownloadData?: boolean; forceSyncHistory?: boolean; specificVersions?: Array<string>; } export interface ChangesStreamTaskData extends TaskBaseData { since: string; last_package?: string; last_package_created?: Date; task_count?: number; registryId?: string; } export interface TaskUpdateCondition { taskId: string; attempts: number; } export type CreateHookTask = Task<CreateHookTaskData>; export type TriggerHookTask = Task<TriggerHookTaskData>; export type CreateSyncPackageTask = Task<CreateSyncPackageTaskData>; export type ChangesStreamTask = Task<ChangesStreamTaskData>; export declare class Task<T extends TaskBaseData = TaskBaseData> extends Entity { taskId: string; type: TaskType; state: TaskState; targetName: string; taskWorker: string; authorId: string; authorIp: string; data: T; logPath: string; logStorePosition: string; attempts: number; error: string; bizId?: string; constructor(data: TaskData<T>); resetLogPath(): void; setExecuteWorker(): void; private static create; static createSyncPackage(fullname: string, options?: SyncPackageTaskOptions): CreateSyncPackageTask; static createChangesStream(targetName: string, registryId?: string, since?: string): ChangesStreamTask; updateSyncData({ lastSince, taskCount, lastPackage }: SyncInfo): void; static createCreateHookTask(hookEvent: HookEvent): CreateHookTask; static createTriggerHookTask(hookEvent: HookEvent, hookId: string): TriggerHookTask; static createSyncBinary(targetName: string, lastData: any): Task; static needMergeWhenWaiting(type: TaskType): boolean; start(): TaskUpdateCondition; } export type SyncInfo = { lastSince: string; taskCount: number; lastPackage?: string; };