quak backup no longer refreshes its library on a timer (closes #183)
check / check (push) Successful in 3m39s
check / check (push) Successful in 3m39s
The backup opened its library with the default 3-second refresh interval, so for its whole run it asked the server for changes every few seconds, and each refresh started another ML data pass. It now opens it with refreshIntervalSeconds: Infinity. The library takes Infinity as no background timer, since setTimeout would turn it into 1 ms. A refresh interval of 3600, as the read commands use, would still refresh once an hour in a backup that runs for hours. Model: opus-5-5
This commit was merged in pull request #190.
This commit is contained in:
@@ -179,6 +179,9 @@ export interface LibraryOptions {
|
||||
// directory at open. The content cache treats an original already stored
|
||||
// at its save path as present.
|
||||
downloadDirectory?: string;
|
||||
// How long after one refresh ends the background timer starts the next.
|
||||
// `Infinity` starts none: the library then refreshes only as it opens and
|
||||
// when `fresh()` or `backup()` asks.
|
||||
refreshIntervalSeconds?: number;
|
||||
onProgress?: RefreshProgressCallback;
|
||||
// The bounded request pools (issue #45), shared by the ML-data fetch (the
|
||||
@@ -627,7 +630,8 @@ export class Library {
|
||||
}
|
||||
|
||||
private scheduleNext(): void {
|
||||
if (this.closed) return;
|
||||
// `setTimeout` would turn an infinite delay into 1 ms.
|
||||
if (this.closed || this.intervalMs === Infinity) return;
|
||||
this.timer = setTimeout(() => {
|
||||
void this.runRefresh().then(() => this.scheduleNext());
|
||||
}, this.intervalMs);
|
||||
|
||||
Reference in New Issue
Block a user