runRxDBBackupWhenQueued()
function runRxDBBackupWhenQueued<T>(
queue,
task,
options
): Promise<T>;
Defined in: packages/rxdb/src/backup/backup-queue.ts:28
在 adapter 的串行队列里执行备份任务,排队本身有时限、可取消。
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
queue | AsyncQueueExecutor | adapter 的串行队列 |
task | () => Promise<T> | 轮到时执行的任务 |
options | RxDBBackupQueueOptions | 取消信号、排队时限与操作名 |
Returns
Promise<T>
任务结果
Remarks
只有「还在排队」这一段受超时与取消控制:任务一旦开始执行就交给它自己的取消逻辑(归档写入器 会在每次写之前检查信号),否则超时回调会在快照写到一半时把调用方放走,而任务仍占着数据库。 超时或取消后任务轮到时直接跳过,不会在没人等待的情况下再做一次快照。
Throws
RxDBBackupError aborted 排队中被取消或被 clearQueue() 清出队列;lock_timeout 排队超时