Consider test and external account when batching
This commit is contained in:
@@ -74,9 +74,19 @@ export class DeliverEventService {
|
||||
if (eventDispatcher.batcher) {
|
||||
const { maxPayloads, runAt } = this.#getBatchEnqueueOptions(eventDispatcher.batcher);
|
||||
|
||||
const jobKeyParts = [eventDispatcher.id];
|
||||
|
||||
if (eventRecord.isTest) {
|
||||
jobKeyParts.push(String(eventRecord.isTest));
|
||||
}
|
||||
|
||||
if (eventRecord.externalAccountId) {
|
||||
jobKeyParts.push(eventRecord.externalAccountId);
|
||||
}
|
||||
|
||||
return workerQueue.batchEnqueue("events.invokeDispatchBatcher", [eventRecord.id], {
|
||||
tx,
|
||||
jobKey: eventDispatcher.id,
|
||||
jobKey: jobKeyParts.join(":"),
|
||||
maxPayloads,
|
||||
runAt,
|
||||
});
|
||||
|
||||
@@ -255,9 +255,11 @@ function getWorkerQueue() {
|
||||
throw new Error("Job key is required for batch jobs.");
|
||||
}
|
||||
|
||||
const batcherId = job.key.split(":")[0]
|
||||
|
||||
const service = new DispatchBatcherService();
|
||||
|
||||
await service.call(job.key, payload);
|
||||
await service.call(batcherId, payload);
|
||||
},
|
||||
},
|
||||
"events.invokeBatchDispatcher": {
|
||||
@@ -351,9 +353,11 @@ function getWorkerQueue() {
|
||||
throw new Error("Job key is required for batch jobs.");
|
||||
}
|
||||
|
||||
const batcherId = job.key.split(":")[0]
|
||||
|
||||
const service = new WebhookDeliveryBatcherService();
|
||||
|
||||
await service.call(job.key, payload);
|
||||
await service.call(batcherId, payload);
|
||||
},
|
||||
},
|
||||
deliverMultipleWebhookRequests: {
|
||||
|
||||
Reference in New Issue
Block a user