---
displayed_sidebar: servicesSidebar
---
import ParameterTypes from "@site/src/components/ParameterTypes"
# EventBusService
Can keep track of multiple subscribers to different events and run the
subscribers when events happen. Events will run asynchronously.
## constructor
### Parameters
___
## Properties
`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"__moduleDeclaration__","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="EventBusService"/>
___
## Accessors
### activeManager\_
#### Returns
### eventBusModuleService\_
#### Returns
___
## Methods
### shouldRetryTransaction\_
#### Parameters
` \\| `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="shouldRetryTransaction_"/>
#### Returns
### atomicPhase\_
Wraps some work within a transactional block. If the service already has
a transaction manager attached this will be reused, otherwise a new
transaction manager is created.
#### Type Parameters
#### Parameters
Promise<TResult>","description":"the transactional work to be done","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationOrErrorHandler","type":"`IsolationLevel` \\| (`error`: TError) => Promise<void \\| TResult>","description":"the isolation level to be used for the work.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"maybeErrorHandlerOrDontFail","type":"(`error`: TError) => Promise<void \\| TResult>","description":"Potential error handler","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="atomicPhase_"/>
#### Returns
### withTransaction
#### Parameters
#### Returns
### subscribe
Adds a function to a list of event subscribers.
#### Parameters
#### Returns
### unsubscribe
Removes function from the list of event subscribers.
#### Parameters
#### Returns
### emit
`**emit**(data): Promise<void \| [StagedJob](../../entities/classes/entities.StagedJob.mdx)[]>`
Calls all subscribers when an event occurs.
#### Type Parameters
#### Parameters
#### Returns
`**emit**(data): Promise<void \| [StagedJob](../../entities/classes/entities.StagedJob.mdx)[]>`
#### Type Parameters
#### Parameters
#### Returns
`**emit**(eventName, data, options?): Promise<void \| [StagedJob](../../entities/classes/entities.StagedJob.mdx)>`
Calls all subscribers when an event occurs.
#### Type Parameters
#### Parameters
`","description":"options to add the job with","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
#### Returns
### startEnqueuer
#### Returns
### stopEnqueuer
#### Returns
### enqueuer\_
#### Returns
### listJobs
#### Parameters
#### Returns