RxDBPluginTrigger
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:95
RxDBPluginTrigger - RxDB 触发器插件主类
将任务运行时挂载到 RxDB 实例上,负责以下职责:
核心架构:
- 任务注册与触发(trigger / triggerAndWait / batchTrigger)
- 队列管理:基于领导选举的分布式队列消费
- 调度管理:基于 Cron 的定时任务执行
- 实体触发器:监听 RxDB 实体变化自动触发任务
多标签页协作:
- 状态存储在共享的 RxDB 实体中,多标签页可观察同一批运行记录
- 通过领导选举(Leader Election)确保队列消费和调度执行的单点写入
- 使用 CAS(Compare-And-Swap)原子操作实现分布式锁,防止重复执行
数据生命周期:
- TriggerRun: 存储每次任务运行的完整状态
- TriggerSchedule: 存储定时调度的配置和游标
- TriggerIdempotencyKey: 存储幂等键,防止重复触发
- TriggerQueue: 存储队列的并发配置
- TriggerWorkflowRun / TriggerWorkflowNodeRun: 存储工作流运行状态
Extends
Implements
Constructors
Constructor
new RxDBPluginTrigger(rxdb, options?): RxDBPluginTrigger;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:126
Parameters
| Parameter | Type |
|---|---|
rxdb | RxDB |
options? | TriggerPluginOptions |
Returns
RxDBPluginTrigger
Overrides
Properties
capabilities
readonly capabilities: TriggerCapabilities;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:120
debounceManager
readonly debounceManager: DebounceManager;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:118
entityTriggerManager
readonly entityTriggerManager: EntityTriggerManager;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:119
entityTriggers
readonly entityTriggers: EntityTriggersAPI;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:124
executorBridge
readonly executorBridge: ExecutorBridge;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:116
name
name: Uncapitalize<string> = 'trigger';
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:106
Implementation of
queueEngine
readonly queueEngine: QueueEngine;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:109
registry
readonly registry: TaskRegistry;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:108
retentionCleaner
readonly retentionCleaner: RetentionCleaner;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:113
runManager
readonly runManager: RunManager;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:110
runs
readonly runs: RunsAPI;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:122
runtimeAdapter
readonly runtimeAdapter: RuntimeAdapter;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:115
rxdb
protected readonly rxdb: RxDB;
Defined in: packages/rxdb/dist/rxdb-plugin.d.ts:14
Inherited from
scheduleClock
readonly scheduleClock: ScheduleClock;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:112
scheduleManager
readonly scheduleManager: ScheduleManager;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:111
schedules
readonly schedules: SchedulesAPI;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:123
storageMonitor
readonly storageMonitor: StorageMonitor;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:114
tabId
readonly tabId: string;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:121
workflowExecutor
readonly workflowExecutor: WorkflowExecutor;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:117
Methods
destroy()
destroy(): void;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:293
Returns
void
Implementation of
install()
install(): void;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:256
Returns
void
Implementation of
task()
task<TPayload, TOutput>(taskDef): TaskHandle<TPayload, TOutput>;
Defined in: packages/rxdb-plugin-trigger/src/plugin.ts:313
Type Parameters
| Type Parameter | Default type |
|---|---|
TPayload | unknown |
TOutput | unknown |
Parameters
| Parameter | Type |
|---|---|
taskDef | TaskDefinition<TPayload, TOutput> |
Returns
TaskHandle<TPayload, TOutput>