跳到主要内容

RetentionCleaner

Defined in: packages/rxdb-plugin-trigger/src/core/retention-cleaner.ts:19

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 RetentionCleaner(
rxdb,
leaderElection,
runRetentionDays?,
metadataRetentionDays?,
idempotencyRetentionDays?): RetentionCleaner;

Defined in: packages/rxdb-plugin-trigger/src/core/retention-cleaner.ts:27

Parameters

ParameterTypeDefault value
rxdbRxDBundefined
leaderElectionLeaderElectionundefined
runRetentionDaysnumber3
metadataRetentionDaysnumber7
idempotencyRetentionDaysnumber14

Returns

RetentionCleaner

Methods

destroy()

destroy(): void;

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

destroy - 停止清理

Returns

void


start()

start(intervalMs?): void;

Defined in: packages/rxdb-plugin-trigger/src/core/retention-cleaner.ts:42

start - 启动定期清理

Parameters

ParameterTypeDefault value
intervalMsnumber60_000

Returns

void