Files
medusa-store/docs/content/references/services/classes/EventBusService.md
2023-03-02 13:21:33 +01:00

8.2 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:75

Properties

config_

Protected Readonly config_: ConfigModule

Defined in

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


enqueue_

Protected enqueue_: Promise<void>

Defined in

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


eventToSubscribersMap_

Protected Readonly eventToSubscribersMap_: Map<string | symbol, SubscriberDescriptor[]>

Defined in

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


jobSchedulerService_

Protected Readonly jobSchedulerService_: default

Defined in

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


logger_

Protected Readonly logger_: Logger

Defined in

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


manager_

Protected Readonly manager_: EntityManager

Defined in

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


queue_

Protected queue_: Bull

Defined in

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


redisClient_

Protected Readonly redisClient_: Redis

Defined in

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


redisSubscriber_

Protected Readonly redisSubscriber_: Redis

Defined in

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


shouldEnqueuerRun

Protected shouldEnqueuerRun: boolean

Defined in

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


stagedJobRepository_

Protected Readonly stagedJobRepository_: typeof StagedJobRepository

Defined in

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


transactionManager_

Protected transactionManager_: undefined | EntityManager

Defined in

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

Methods

createCronJob

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

Registers a cron job.

Deprecated

All cron job logic has been refactored to the JobSchedulerService. This method will be removed in a future release.

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
options? CreateJobOptions -

Returns

Promise<void>

void

Defined in

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


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 any options to add the job with

Returns

Promise<void | StagedJob>

the job from our queue

Defined in

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


enqueuer_

enqueuer_(): Promise<void>

Returns

Promise<void>

Defined in

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


startEnqueuer

startEnqueuer(): void

Returns

void

Defined in

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


stopEnqueuer

stopEnqueuer(): Promise<void>

Returns

Promise<void>

Defined in

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


subscribe

subscribe(event, subscriber, context?): 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
context? SubscriberContext context to use when attaching subscriber happens. Subscribers must return a Promise.

Returns

EventBusService

this

Defined in

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


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:198


withTransaction

withTransaction(transactionManager): EventBusService

Parameters

Name Type
transactionManager any

Returns

EventBusService

Defined in

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


worker_

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

Handles incoming jobs.

Type parameters

Name
T

Parameters

Name Type Description
job BullJob<T> The job object

Returns

Promise<unknown>

resolves to the results of the subscriber calls.

Defined in

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