Files
medusa-store/docs/content/references/services/classes/EventBusService.md
Shahed Nasser a8293af8e1 fix: overlapping branch names for generated PRs of references (#2097)
* fix overlapping branch names of generated references

* regenerate references
2022-08-25 17:47:58 +03:00

9.6 KiB

Class: EventBusService

Can keep track of multiple subscribers to different events and run the subscribers when events happen. Events will run asynchronously.

Constructors

constructor

new EventBusService(__namedParameters, config, singleton?)

Parameters

Name Type Default value
__namedParameters InjectedDependencies undefined
config ConfigModule undefined
singleton boolean true

Defined in

packages/medusa/src/services/event-bus.ts:38

Properties

config_

Protected Readonly config_: ConfigModule

Defined in

packages/medusa/src/services/event-bus.ts:24


cronHandlers_

Protected Readonly cronHandlers_: Map<string | symbol, Subscriber<unknown>[]>

Defined in

packages/medusa/src/services/event-bus.ts:29


cronQueue_

Protected Readonly cronQueue_: Bull

Defined in

packages/medusa/src/services/event-bus.ts:32


enqueue_

Protected enqueue_: Promise<void>

Defined in

packages/medusa/src/services/event-bus.ts:36


logger_

Protected Readonly logger_: Logger

Defined in

packages/medusa/src/services/event-bus.ts:26


manager_

Protected Readonly manager_: EntityManager

Defined in

packages/medusa/src/services/event-bus.ts:25


observers_

Protected Readonly observers_: Map<string | symbol, Subscriber<unknown>[]>

Defined in

packages/medusa/src/services/event-bus.ts:28


queue_

Protected queue_: Bull

Defined in

packages/medusa/src/services/event-bus.ts:33


redisClient_

Protected Readonly redisClient_: Redis

Defined in

packages/medusa/src/services/event-bus.ts:30


redisSubscriber_

Protected Readonly redisSubscriber_: Redis

Defined in

packages/medusa/src/services/event-bus.ts:31


shouldEnqueuerRun

Protected shouldEnqueuerRun: boolean

Defined in

packages/medusa/src/services/event-bus.ts:34


stagedJobRepository_

Protected Readonly stagedJobRepository_: typeof StagedJobRepository

Defined in

packages/medusa/src/services/event-bus.ts:27


transactionManager_

Protected transactionManager_: undefined | EntityManager

Defined in

packages/medusa/src/services/event-bus.ts:35

Methods

createCronJob

createCronJob<T>(eventName, data, cron, handler): void

Registers a cron job.

Type parameters

Name
T

Parameters

Name Type Description
eventName string the name of the event
data T the data to be sent with the event
cron string the cron pattern
handler Subscriber<unknown> the handler to call on each cron job

Returns

void

void

Defined in

packages/medusa/src/services/event-bus.ts:308


cronWorker_

cronWorker_<T>(job): Promise<unknown[]>

Handles incoming jobs.

Type parameters

Name
T

Parameters

Name Type Description
job Object The job object
job.data Object -
job.data.data T -
job.data.eventName string -

Returns

Promise<unknown[]>

resolves to the results of the subscriber calls.

Defined in

packages/medusa/src/services/event-bus.ts:281


emit

emit<T>(eventName, data, options?): Promise<void | StagedJob>

Calls all subscribers when an event occurs.

Type parameters

Name
T

Parameters

Name Type Description
eventName string the name of the event to be process.
data T the data to send to the subscriber.
options Object options to add the job with
options.delay? number -

Returns

Promise<void | StagedJob>

the job from our queue

Defined in

packages/medusa/src/services/event-bus.ts:179


enqueuer_

enqueuer_(): Promise<void>

Returns

Promise<void>

Defined in

packages/medusa/src/services/event-bus.ts:215


registerCronHandler_

Protected registerCronHandler_(event, subscriber): EventBusService

Adds a function to a list of event subscribers.

Parameters

Name Type Description
event string | symbol the event that the subscriber will listen for.
subscriber Subscriber<unknown> the function to be called when a certain event happens. Subscribers must return a Promise.

Returns

EventBusService

this

Defined in

packages/medusa/src/services/event-bus.ts:158


startEnqueuer

startEnqueuer(): void

Returns

void

Defined in

packages/medusa/src/services/event-bus.ts:205


stopEnqueuer

stopEnqueuer(): Promise<void>

Returns

Promise<void>

Defined in

packages/medusa/src/services/event-bus.ts:210


subscribe

subscribe(event, subscriber): EventBusService

Adds a function to a list of event subscribers.

Parameters

Name Type Description
event string | symbol the event that the subscriber will listen for.
subscriber Subscriber<unknown> the function to be called when a certain event happens. Subscribers must return a Promise.

Returns

EventBusService

this

Defined in

packages/medusa/src/services/event-bus.ts:118


unsubscribe

unsubscribe(event, subscriber): EventBusService

Adds a function to a list of event subscribers.

Parameters

Name Type Description
event string | symbol the event that the subscriber will listen for.
subscriber Subscriber<unknown> the function to be called when a certain event happens. Subscribers must return a Promise.

Returns

EventBusService

this

Defined in

packages/medusa/src/services/event-bus.ts:136


withTransaction

withTransaction(transactionManager): EventBusService

Parameters

Name Type
transactionManager any

Returns

EventBusService

Defined in

packages/medusa/src/services/event-bus.ts:88


worker_

worker_<T>(job): Promise<unknown[]>

Handles incoming jobs.

Type parameters

Name
T

Parameters

Name Type Description
job Object The job object
job.data Object -
job.data.data T -
job.data.eventName string -

Returns

Promise<unknown[]>

resolves to the results of the subscriber calls.

Defined in

packages/medusa/src/services/event-bus.ts:250