diff --git a/packages/backend/src/core/CollapsedQueueService.ts b/packages/backend/src/core/CollapsedQueueService.ts index 69e3982553..be57f7923c 100644 --- a/packages/backend/src/core/CollapsedQueueService.ts +++ b/packages/backend/src/core/CollapsedQueueService.ts @@ -254,7 +254,7 @@ export class CollapsedQueueService implements OnApplicationShutdown { const results = await queue.performAllNow(); const [succeeded, failed] = results.reduce((counts, result) => { - counts[result.status === 'fulfilled' ? 0 : 1]++; + counts[result ? 0 : 1]++; return counts; }, [0, 0]); diff --git a/packages/backend/src/misc/collapsed-queue.ts b/packages/backend/src/misc/collapsed-queue.ts index f121edbe0e..9bfcc38e55 100644 --- a/packages/backend/src/misc/collapsed-queue.ts +++ b/packages/backend/src/misc/collapsed-queue.ts @@ -99,7 +99,7 @@ export class CollapsedQueue { const entries = Array.from(this.jobs.entries()); this.jobs.clear(); - return await Promise.allSettled(entries.map(([key, job]) => this._perform(key, job.value))); + return await Promise.all(entries.map(([key, job]) => this._perform(key, job.value))); } private async _perform(key: string, value: V) { @@ -113,9 +113,11 @@ export class CollapsedQueue { } else { await this.perform(key, value); } + + return true; } catch (err) { await this.opts?.onError?.(this, err); - throw err; + return false; } }