README
workflow-manager
workflow-manager client library.
- workflow-manager
- WorkflowManager ⏏
- new WorkflowManager(options)
- instance
- .close()
- .healthCheck([options], [cb]) ⇒
Promise
- .postStateResource(NewStateResource, [options], [cb]) ⇒
Promise
- .deleteStateResource(params, [options], [cb]) ⇒
Promise
- .getStateResource(params, [options], [cb]) ⇒
Promise
- .putStateResource(params, [options], [cb]) ⇒
Promise
- .getWorkflowDefinitions([options], [cb]) ⇒
Promise
- .newWorkflowDefinition(NewWorkflowDefinitionRequest, [options], [cb]) ⇒
Promise
- .getWorkflowDefinitionVersionsByName(params, [options], [cb]) ⇒
Promise
- .updateWorkflowDefinition(params, [options], [cb]) ⇒
Promise
- .getWorkflowDefinitionByNameAndVersion(params, [options], [cb]) ⇒
Promise
- .getWorkflows(params, [options], [cb]) ⇒
Promise
- .getWorkflowsIter(params, [options]) ⇒
Object
|function
|function
|function
|function
- .startWorkflow(StartWorkflowRequest, [options], [cb]) ⇒
Promise
- .CancelWorkflow(params, [options], [cb]) ⇒
Promise
- .getWorkflowByID(workflowID, [options], [cb]) ⇒
Promise
- .resumeWorkflowByID(params, [options], [cb]) ⇒
Promise
- .resolveWorkflowByID(workflowID, [options], [cb]) ⇒
Promise
- static
- .RetryPolicies
- .Errors
- .BadRequest ⇐
Error
- .InternalError ⇐
Error
- .NotFound ⇐
Error
- .Conflict ⇐
Error
- .BadRequest ⇐
- .DefaultCircuitOptions
- WorkflowManager ⏏
WorkflowManager ⏏
workflow-manager client
new WorkflowManager(options)
Create a new client object.
Param | Type | Default | Description |
---|---|---|---|
options | Object |
Options for constructing a client object. | |
[options.address] | string |
URL where the server is located. Must provide this or the discovery argument | |
[options.discovery] | bool |
Use clever-discovery to locate the server. Must provide this or the address argument | |
[options.timeout] | number |
The timeout to use for all client requests, in milliseconds. This can be overridden on a per-request basis. Default is 5000ms. | |
[options.keepalive] | bool |
Set keepalive to true for client requests. This sets the forever: true attribute in request. Defaults to true. | |
[options.retryPolicy] | RetryPolicies |
RetryPolicies.Single |
The logic to determine which requests to retry, as well as how many times to retry. |
[options.logger] | module:kayvee.Logger |
logger.New("workflow-manager-wagclient") |
The Kayvee logger to use in the client. |
[options.circuit] | Object |
Options for constructing the client's circuit breaker. | |
[options.circuit.forceClosed] | bool |
When set to true the circuit will always be closed. Default: true. | |
[options.circuit.maxConcurrentRequests] | number |
the maximum number of concurrent requests the client can make at the same time. Default: 100. | |
[options.circuit.requestVolumeThreshold] | number |
The minimum number of requests needed before a circuit can be tripped due to health. Default: 20. | |
[options.circuit.sleepWindow] | number |
how long, in milliseconds, to wait after a circuit opens before testing for recovery. Default: 5000. | |
[options.circuit.errorPercentThreshold] | number |
the threshold to place on the rolling error rate. Once the error rate exceeds this percentage, the circuit opens. Default: 90. |
workflowManager.close()
Releases handles used in client
Kind: instance method of WorkflowManager
Promise
workflowManager.healthCheck([options], [cb]) ⇒ Checks if the service is healthy
Kind: instance method of WorkflowManager
Fulfill: undefined
Reject: BadRequest
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.postStateResource(NewStateResource, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
NewStateResource | ||
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.deleteStateResource(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: undefined
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
params | Object |
|
params.namespace | string |
|
params.name | string |
|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.getStateResource(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
params | Object |
|
params.namespace | string |
|
params.name | string |
|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.putStateResource(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
params | Object |
|
params.namespace | string |
|
params.name | string |
|
[params.NewStateResource] | ||
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.getWorkflowDefinitions([options], [cb]) ⇒ Get the latest versions of all available WorkflowDefinitions
Kind: instance method of WorkflowManager
Fulfill: Object[]
Reject: BadRequest
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.newWorkflowDefinition(NewWorkflowDefinitionRequest, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
NewWorkflowDefinitionRequest | ||
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.getWorkflowDefinitionVersionsByName(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object[]
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Default | Description |
---|---|---|---|
params | Object |
||
params.name | string |
||
[params.latest] | boolean |
true |
|
[options] | object |
||
[options.timeout] | number |
A request specific timeout | |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy | |
[cb] | function |
Promise
workflowManager.updateWorkflowDefinition(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
params | Object |
|
[params.NewWorkflowDefinitionRequest] | ||
params.name | string |
|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.getWorkflowDefinitionByNameAndVersion(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
params | Object |
|
params.name | string |
|
params.version | number |
|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.getWorkflows(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object[]
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Default | Description |
---|---|---|---|
params | Object |
||
[params.limit] | number |
10 |
Maximum number of workflows to return. Defaults to 10. Restricted to a max of 10,000. |
[params.oldestFirst] | boolean |
||
[params.pageToken] | string |
||
[params.status] | string |
The status of the workflow (queued, running, etc.). | |
[params.resolvedByUser] | boolean |
A flag that indicates whether the workflow has been marked resolved by a user. | |
[params.summaryOnly] | boolean |
Limits workflow data to the bare minimum - omits the full workflow definition and job data. | |
params.workflowDefinitionName | string |
||
[options] | object |
||
[options.timeout] | number |
A request specific timeout | |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy | |
[cb] | function |
Object
| function
| function
| function
| function
workflowManager.getWorkflowsIter(params, [options]) ⇒ Kind: instance method of WorkflowManager
Returns: Object
- iterfunction
- iter.map - takes in a function, applies it to each resource, and returns a promise to the result as an arrayfunction
- iter.toArray - returns a promise to the resources as an arrayfunction
- iter.forEach - takes in a function, applies it to each resourcefunction
- iter.forEachAsync - takes in an async function, applies it to each resource
Param | Type | Default | Description |
---|---|---|---|
params | Object |
||
[params.limit] | number |
10 |
Maximum number of workflows to return. Defaults to 10. Restricted to a max of 10,000. |
[params.oldestFirst] | boolean |
||
[params.pageToken] | string |
||
[params.status] | string |
The status of the workflow (queued, running, etc.). | |
[params.resolvedByUser] | boolean |
A flag that indicates whether the workflow has been marked resolved by a user. | |
[params.summaryOnly] | boolean |
Limits workflow data to the bare minimum - omits the full workflow definition and job data. | |
params.workflowDefinitionName | string |
||
[options] | object |
||
[options.timeout] | number |
A request specific timeout | |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
Promise
workflowManager.startWorkflow(StartWorkflowRequest, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
StartWorkflowRequest | Parameters for starting a workflow (workflow definition, input, and optionally namespace, queue, and tags) | |
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.CancelWorkflow(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: undefined
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
params | Object |
|
params.workflowID | string |
|
params.reason | ||
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.getWorkflowByID(workflowID, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
workflowID | string |
|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.resumeWorkflowByID(params, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: Object
Reject: BadRequest
Reject: NotFound
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
params | Object |
|
params.workflowID | string |
|
params.overrides | ||
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
Promise
workflowManager.resolveWorkflowByID(workflowID, [options], [cb]) ⇒ Kind: instance method of WorkflowManager
Fulfill: undefined
Reject: BadRequest
Reject: NotFound
Reject: Conflict
Reject: InternalError
Reject: Error
Param | Type | Description |
---|---|---|
workflowID | string |
|
[options] | object |
|
[options.timeout] | number |
A request specific timeout |
[options.retryPolicy] | RetryPolicies |
A request specific retryPolicy |
[cb] | function |
WorkflowManager.RetryPolicies
Retry policies available to use.
Kind: static property of WorkflowManager
RetryPolicies.Exponential
The exponential retry policy will retry five times with an exponential backoff.
Kind: static constant of RetryPolicies
RetryPolicies.Single
Use this retry policy to retry a request once.
Kind: static constant of RetryPolicies
RetryPolicies.None
Use this retry policy to turn off retries.
Kind: static constant of RetryPolicies
WorkflowManager.Errors
Errors returned by methods.
Kind: static property of WorkflowManager
- .Errors
- .BadRequest ⇐
Error
- .InternalError ⇐
Error
- .NotFound ⇐
Error
- .Conflict ⇐
Error
- .BadRequest ⇐
Error
Errors.BadRequest ⇐ BadRequest
Kind: static class of Errors
Extends: Error
Properties
Name | Type |
---|---|
message | string |
Error
Errors.InternalError ⇐ InternalError
Kind: static class of Errors
Extends: Error
Properties
Name | Type |
---|---|
message | string |
Error
Errors.NotFound ⇐ NotFound
Kind: static class of Errors
Extends: Error
Properties
Name | Type |
---|---|
message | string |
Error
Errors.Conflict ⇐ Conflict
Kind: static class of Errors
Extends: Error
Properties
Name | Type |
---|---|
message | string |
WorkflowManager.DefaultCircuitOptions
Default circuit breaker options.
Kind: static constant of WorkflowManager