bpmn-server / Engine
Class: Engine#
super class for various objects that are part of the server
Hierarchy#
↳ Engine
Implements#
Table of contents#
Constructors#
Properties#
Accessors#
Methods#
- start
 - restart
 - get
 - lock
 - release
 - restore
 - invokeItem
 - assign
 - invoke
 - startRepeatTimerEvent
 - startEvent
 - throwMessage
 - throwSignal
 - exception
 - sanitizeData
 
Constructors#
constructor#
• new Engine(server): Engine
Parameters#
| Name | Type | 
|---|---|
server | 
any | 
Returns#
Overrides#
Defined in#
Properties#
runningCounter#
• runningCounter: number = 0
Defined in#
callsCounter#
• callsCounter: number = 0
Defined in#
server#
• server: any
Inherited from#
Defined in#
Accessors#
configuration#
• get configuration(): any
Returns#
any
Inherited from#
ServerComponent.configuration
Defined in#
logger#
• get logger(): any
Returns#
any
Inherited from#
ServerComponent.logger
Defined in#
cron#
• get cron(): Cron
Returns#
Inherited from#
ServerComponent.cron
Defined in#
cache#
• get cache(): CacheManager
Returns#
Inherited from#
ServerComponent.cache
Defined in#
appDelegate#
• get appDelegate(): any
Returns#
any
Inherited from#
ServerComponent.appDelegate
Defined in#
engine#
• get engine(): IEngine
Returns#
Inherited from#
ServerComponent.engine
Defined in#
dataStore#
• get dataStore(): any
Returns#
any
Inherited from#
ServerComponent.dataStore
Defined in#
definitions#
• get definitions(): any
Returns#
any
Inherited from#
ServerComponent.definitions
Defined in#
listener#
• get listener(): any
Returns#
any
Inherited from#
ServerComponent.listener
Defined in#
Methods#
start#
▸ start(name, data?, startNodeId?, userName?, options?): Promise\<Execution>
loads a definitions and start execution
Parameters#
| Name | Type | Default value | Description | 
|---|---|---|---|
name | 
any | 
undefined | 
name of the process to start | 
data | 
any | 
{} | 
input data | 
startNodeId | 
string | 
null | 
in process has multiple start node; you need to specify which one | 
userName | 
string | 
null | 
- | 
options | 
Object | 
{} | 
- | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
restart#
▸ restart(itemQuery, data, userName, options?): Promise\<Execution>
Parameters#
| Name | Type | 
|---|---|
itemQuery | 
any | 
data | 
any | 
userName | 
any | 
options | 
Object | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
get#
▸ get(instanceQuery): Promise\<Execution>
restores an instance into memeory or provides you access to a running instance
this will also resume execution
Parameters#
| Name | Type | Description | 
|---|---|---|
instanceQuery | 
any | 
criteria to fetch the instance query example: jsonl { id: instanceId} { data: {caseId: 1005}} { items.id : 'abcc111322'} { items.itemKey : 'businesskey here'} | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
lock#
▸ lock(executionId): Promise\<void>
lock instance
Parameters#
| Name | Type | 
|---|---|
executionId | 
any | 
Returns#
Promise\<void>
Defined in#
release#
▸ release(execution): Promise\<void>
release instance lock
Parameters#
| Name | Type | 
|---|---|
execution | 
Execution | 
Returns#
Promise\<void>
Defined in#
restore#
▸ restore(instanceId, itemId?): Promise\<Execution>
* Loads instance into memory for purpose of execution Locks instance first if required check if in cache
Parameters#
| Name | Type | Default value | 
|---|---|---|
instanceId | 
any | 
undefined | 
itemId | 
any | 
null | 
Returns#
Promise\<Execution>
Defined in#
invokeItem#
▸ invokeItem(itemQuery, data?): Promise\<Execution>
Parameters#
| Name | Type | 
|---|---|
itemQuery | 
any | 
data | 
Object | 
Returns#
Promise\<Execution>
Defined in#
assign#
▸ assign(itemQuery, data?, assignment?, userName, options?): Promise\<Execution>
update an existing item that is in a wait state with an assignment can modify data or assignment or both
Parameters#
| Name | Type | Description | 
|---|---|---|
itemQuery | 
any | 
criteria to retrieve the item | 
data | 
Object | 
|
assignment | 
Object | 
- | 
userName | 
string | 
- | 
options | 
Object | 
- | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
invoke#
▸ invoke(itemQuery, data?, userName?, options?): Promise\<Execution>
Continue an existing item that is in a wait state
scenario:
itemId  {itemId: value }
itemKey     {itemKey: value}
instance,task   {instanceId: instanceId, elementId: value }
Parameters#
| Name | Type | Default value | Description | 
|---|---|---|---|
itemQuery | 
any | 
undefined | 
criteria to retrieve the item | 
data | 
Object | 
{} | 
|
userName | 
string | 
null | 
- | 
options | 
Object | 
{} | 
- | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
startRepeatTimerEvent#
▸ startRepeatTimerEvent(instanceId, prevItem, data?, options?): Promise\<Execution>
Repeat Timers need to create new Item
Parameters#
| Name | Type | 
|---|---|
instanceId | 
any | 
prevItem | 
any | 
data | 
Object | 
options | 
Object | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
startEvent#
▸ startEvent(instanceId, elementId, data?, userName?, options?): Promise\<Execution>
Invoking an event (usually start event of a secondary process) against an existing instance or Invoking a start event (of a secondary process) against an existing instance
 instance,task
{instanceId: instanceId, elementId: value }
Parameters#
| Name | Type | Default value | 
|---|---|---|
instanceId | 
any | 
undefined | 
elementId | 
any | 
undefined | 
data | 
Object | 
{} | 
userName | 
string | 
null | 
options | 
Object | 
{} | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
throwMessage#
▸ throwMessage(messageId, data?, matchingQuery?): Promise\<Execution>
signal/message raise a signal or throw a message
will seach for a matching event/task given the signalId/messageId
that can be againt a running instance or it may start a new instance#
Parameters#
| Name | Type | Description | 
|---|---|---|
messageId | 
any | 
the id of the message or signal as per bpmn definition | 
data | 
Object | 
message data | 
matchingQuery | 
Object | 
- | 
Returns#
Promise\<Execution>
Implementation of#
Defined in#
throwSignal#
▸ throwSignal(signalId, data?, matchingQuery?): Promise\<any[]>
signal/message raise a signal or throw a message
will seach for a matching event/task given the signalId/messageId
that can be againt a running instance or it may start a new instance#
Parameters#
| Name | Type | Description | 
|---|---|---|
signalId | 
any | 
- | 
data | 
Object | 
message data | 
matchingQuery | 
Object | 
should match the itemKey (if specified) | 
Returns#
Promise\<any[]>
Implementation of#
Defined in#
exception#
▸ exception(exc, execution): Promise\<any>
Parameters#
| Name | Type | 
|---|---|
exc | 
any | 
execution | 
any | 
Returns#
Promise\<any>
Defined in#
sanitizeData#
▸ sanitizeData(data): any
Parameters#
| Name | Type | 
|---|---|
data | 
any | 
Returns#
any