跳到主要内容

ScheduleClock

Defined in: packages/rxdb-plugin-trigger/src/core/schedule-clock.ts:16

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 ScheduleClock(
leaderElection,
runManager,
tickInterval?,
onQueueReady?): ScheduleClock;

Defined in: packages/rxdb-plugin-trigger/src/core/schedule-clock.ts:23

Parameters

ParameterTypeDefault value
leaderElectionLeaderElectionundefined
runManagerRunManagerundefined
tickIntervalnumber2000
onQueueReady?() => voidundefined

Returns

ScheduleClock

Methods

destroy()

destroy(): void;

Defined in: packages/rxdb-plugin-trigger/src/core/schedule-clock.ts:48

destroy - 停止调度时钟

Returns

void


setScheduleManager()

setScheduleManager(manager): void;

Defined in: packages/rxdb-plugin-trigger/src/core/schedule-clock.ts:33

Parameters

ParameterType
managerScheduleManager

Returns

void


start()

start(): void;

Defined in: packages/rxdb-plugin-trigger/src/core/schedule-clock.ts:38

start - 启动调度时钟

Returns

void