跳到主要内容

TaskRegistry

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:9

rxdb-plugin-trigger - RxDB 触发器插件

基于 RxDB 的分布式任务队列和定时调度插件,支持:

  • 任务触发与批量触发(trigger / triggerAndWait / batchTrigger)
  • 定时 Cron 调度(schedules API)
  • 实体变更触发(entityTriggers API)
  • DAG 工作流执行(WorkflowExecutor)
  • 多标签页协作与领导选举
  • 幂等性、并发控制、重试机制

Example

import { rxDBPluginTrigger } from 'rxdb-plugin-trigger';

const db = await createRxDatabase({ ... });
db.addPlugin(rxDBPluginTrigger());

const task = db.trigger.task({
id: 'my-task',
run: async (payload, ctx) => {
console.log('Running task:', payload);
return { result: 'done' };
}
});

// 触发任务
await task.trigger({ data: 'hello' });

// 触发并等待结果
const result = await task.triggerAndWait({ data: 'hello' });

Constructors

Constructor

new TaskRegistry(): TaskRegistry;

Returns

TaskRegistry

Methods

clear()

clear(): void;

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:50

clear - 清空所有任务

Returns

void


get()

get(taskId):
| TaskDefinition<unknown, unknown>
| undefined;

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:25

get - 获取任务定义

Parameters

ParameterType
taskIdstring

Returns

| TaskDefinition<unknown, unknown> | undefined


has()

has(taskId): boolean;

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:30

has - 检查任务是否存在

Parameters

ParameterType
taskIdstring

Returns

boolean


keys()

keys(): IterableIterator<string>;

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:35

keys - 获取所有任务ID

Returns

IterableIterator<string>


register()

register<TPayload, TOutput>(definition): void;

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:17

register - 注册任务

Type Parameters

Type Parameter
TPayload
TOutput

Parameters

ParameterType
definitionTaskDefinition<TPayload, TOutput>

Returns

void

Throws

如果任务ID已存在


unregister()

unregister(taskId): boolean;

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:45

unregister - 注销任务

Parameters

ParameterType
taskIdstring

Returns

boolean


values()

values(): IterableIterator<TaskDefinition<unknown, unknown>>;

Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:40

values - 获取所有任务定义

Returns

IterableIterator<TaskDefinition<unknown, unknown>>