deno.land / x / replicache@v10.0.0-beta.0 / persist / bg-interval.ts

bg-interval.ts
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import type {LogContext} from '@rocicorp/logger';
export function initBgIntervalProcess( processName: string, process: () => Promise<unknown>, intervalMs: number, lc: LogContext, signal: AbortSignal,): void { if (signal.aborted) { return; }
lc = lc.addContext('bgIntervalProcess', processName); const intervalID = setInterval(async () => { lc.debug?.('Running'); try { await process(); } catch (e) { if (signal.aborted) { lc.debug?.('Error running most likely due to close.', e); } else { lc.error?.('Error running.', e); } } }, intervalMs); lc = lc.addContext('intervalID', intervalID); lc.debug?.('Starting');
signal.addEventListener('abort', () => { lc.debug?.('Stopping'); clearInterval(intervalID); });}
replicache

Version Info

Tagged at
2 years ago