* generated new services reference * changed from automatic push to automated pull request * updated typedoc, regenerated JS Client reference * regenerated the reference after updating typedoc * added action for js client
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
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
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
this
Defined in
packages/medusa/src/services/event-bus.ts:136
withTransaction
▸ withTransaction(transactionManager): EventBusService
Parameters
| Name | Type |
|---|---|
transactionManager |
any |
Returns
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.