Files
medusa-store/docs/content/references/services/classes/EventBusService.md
2023-02-13 09:56:49 +02:00

8.3 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:73

Properties

config_

Protected Readonly config_: ConfigModule

Defined in

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


enqueue_

Protected enqueue_: Promise<void>

Defined in

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


eventToSubscribersMap_

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

Defined in

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


jobSchedulerService_

Protected Readonly jobSchedulerService_: default

Defined in

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


logger_

Protected Readonly logger_: Logger

Defined in

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


manager_

Protected Readonly manager_: EntityManager

Defined in

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


queue_

Protected queue_: Bull

Defined in

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


redisClient_

Protected Readonly redisClient_: Redis

Defined in

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


redisSubscriber_

Protected Readonly redisSubscriber_: Redis

Defined in

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


shouldEnqueuerRun

Protected shouldEnqueuerRun: boolean

Defined in

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


stagedJobRepository_

Protected Readonly stagedJobRepository_: typeof StagedJobRepository

Defined in

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


transactionManager_

Protected transactionManager_: undefined | EntityManager

Defined in

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

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


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 Record<string, unknown> & EmitOptions options to add the job with

Returns

Promise<void | StagedJob>

the job from our queue

Defined in

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


enqueuer_

enqueuer_(): Promise<void>

Returns

Promise<void>

Defined in

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


startEnqueuer

startEnqueuer(): void

Returns

void

Defined in

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


stopEnqueuer

stopEnqueuer(): Promise<void>

Returns

Promise<void>

Defined in

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


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


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


withTransaction

withTransaction(transactionManager): EventBusService

Parameters

Name Type
transactionManager any

Returns

EventBusService

Defined in

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


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