From 82c728bec7232a245a67dca0b01b28572ebea75d Mon Sep 17 00:00:00 2001 From: Oli Juhl <59018053+olivermrbl@users.noreply.github.com> Date: Wed, 7 Feb 2024 10:35:49 +0100 Subject: [PATCH] feat(medusa): Allow configuring of staged job polling batch size (#6333) --- .changeset/odd-keys-retire.md | 6 ++++++ packages/medusa/src/services/event-bus.ts | 4 ++-- packages/types/src/common/config-module.ts | 16 ++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 .changeset/odd-keys-retire.md diff --git a/.changeset/odd-keys-retire.md b/.changeset/odd-keys-retire.md new file mode 100644 index 0000000000..ca61907f9b --- /dev/null +++ b/.changeset/odd-keys-retire.md @@ -0,0 +1,6 @@ +--- +"@medusajs/medusa": patch +"@medusajs/types": patch +--- + +feat(medusa): Allow configuring of staged job polling batch size diff --git a/packages/medusa/src/services/event-bus.ts b/packages/medusa/src/services/event-bus.ts index e4f8db84c6..ef035c0c5d 100644 --- a/packages/medusa/src/services/event-bus.ts +++ b/packages/medusa/src/services/event-bus.ts @@ -38,7 +38,7 @@ export default class EventBusService constructor( { stagedJobService, logger }: InjectedDependencies, - config, + config: ConfigModule, isSingleton = true ) { // eslint-disable-next-line prefer-rest-params @@ -201,7 +201,7 @@ export default class EventBusService const listConfig = { relations: [], skip: 0, - take: 1000, + take: this.config_.projectConfig.jobs_batch_size ?? 1000, } while (this.shouldEnqueuerRun) { diff --git a/packages/types/src/common/config-module.ts b/packages/types/src/common/config-module.ts index 2b20bd9e33..c1df77106d 100644 --- a/packages/types/src/common/config-module.ts +++ b/packages/types/src/common/config-module.ts @@ -467,6 +467,22 @@ export type ProjectConfigOptions = { * ``` */ http_compression?: HttpCompressionOptions + + /** + * Configure the number of staged jobs that are polled from the database. Default is 1000. + * + * @example + * ```js title="medusa-config.js" + * module.exports = { + * projectConfig: { + * jobs_batch_size: 100 + * // ... + * }, + * // ... + * } + * ``` + */ + jobs_batch_size?: number } /**