fix(worker): park far-future jobs in a KV due queue (#2144)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-30 22:16:18 +02:00
1 parent 6eca64a8f7
commit efae78056e
10 files changed
+551 -21

No files matched your search

@@ -58,6 +58,7 @@ import type {IUnfurlerService} from '../infrastructure/IUnfurlerService';
import {KVAccountDeletionQueueService} from '../infrastructure/KVAccountDeletionQueueService';
import {KVActivityTracker} from '../infrastructure/KVActivityTracker';
import {KVBulkMessageDeletionQueueService} from '../infrastructure/KVBulkMessageDeletionQueueService';
import {KVScheduledJobQueueService} from '../infrastructure/KVScheduledJobQueueService';
import {NatsUnfurlerService} from '../infrastructure/NatsUnfurlerService';
import {PremiumStateReconciliationQueueService} from '../infrastructure/PremiumStateReconciliationQueueService';
import {createDownloadsStorageService, createStorageService} from '../infrastructure/StorageServiceFactory';
@@ -222,6 +223,18 @@ export function getKVBulkMessageDeletionQueue(): KVBulkMessageDeletionQueueServi
return bulkMessageDeletionQueue;
}
let scheduledJobQueueClient: IKVProvider | null = null;
let scheduledJobQueue: KVScheduledJobQueueService | null = null;
export function getKVScheduledJobQueue(): KVScheduledJobQueueService {
const kvClient = getKVClient();
if (!scheduledJobQueue || scheduledJobQueueClient !== kvClient) {
scheduledJobQueue = new KVScheduledJobQueueService(kvClient);
scheduledJobQueueClient = kvClient;
}
return scheduledJobQueue;
}
let premiumStateQueueClient: IKVProvider | null = null;
let premiumStateQueue: PremiumStateReconciliationQueueService | null = null;