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
| Parameter | Type |
|---|---|
taskId | string |
Returns
| TaskDefinition<unknown, unknown>
| undefined
has()
has(taskId): boolean;
Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:30
has - 检查任务是否存在
Parameters
| Parameter | Type |
|---|---|
taskId | string |
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
| Parameter | Type |
|---|---|
definition | TaskDefinition<TPayload, TOutput> |
Returns
void
Throws
如果任务ID已存在
unregister()
unregister(taskId): boolean;
Defined in: packages/rxdb-plugin-trigger/src/core/registry.ts:45
unregister - 注销任务
Parameters
| Parameter | Type |
|---|---|
taskId | string |
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>>