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
WorkflowManager ⏏
workflow-manager client
Kind: Exported class
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
workflowManager.healthCheck([options], [cb]) ⇒ Promise
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 | |
workflowManager.postStateResource(NewStateResource, [options], [cb]) ⇒ Promise
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 | |
workflowManager.deleteStateResource(params, [options], [cb]) ⇒ Promise
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 | |
workflowManager.getStateResource(params, [options], [cb]) ⇒ Promise
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 | |
workflowManager.putStateResource(params, [options], [cb]) ⇒ Promise
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 | |
workflowManager.getWorkflowDefinitions([options], [cb]) ⇒ Promise
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 | |
workflowManager.newWorkflowDefinition(NewWorkflowDefinitionRequest, [options], [cb]) ⇒ Promise
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 | |
workflowManager.getWorkflowDefinitionVersionsByName(params, [options], [cb]) ⇒ Promise
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 | | |
workflowManager.updateWorkflowDefinition(params, [options], [cb]) ⇒ Promise
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 | |
workflowManager.getWorkflowDefinitionByNameAndVersion(params, [options], [cb]) ⇒ Promise
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 | |
workflowManager.getWorkflows(params, [options], [cb]) ⇒ Promise
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 | | |
workflowManager.getWorkflowsIter(params, [options]) ⇒ Object
| function
| function
| function
| function
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 |
workflowManager.startWorkflow(StartWorkflowRequest, [options], [cb]) ⇒ Promise
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 | |
workflowManager.CancelWorkflow(params, [options], [cb]) ⇒ Promise
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 | |
workflowManager.getWorkflowByID(workflowID, [options], [cb]) ⇒ Promise
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 | |
workflowManager.resumeWorkflowByID(params, [options], [cb]) ⇒ Promise
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 | |
workflowManager.resolveWorkflowByID(workflowID, [options], [cb]) ⇒ Promise
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
BadRequest
Kind: static class of Errors
Extends: Error
Properties
Errors.InternalError ⇐ Error
InternalError
Kind: static class of Errors
Extends: Error
Properties
Errors.NotFound ⇐ Error
NotFound
Kind: static class of Errors
Extends: Error
Properties
Errors.Conflict ⇐ Error
Conflict
Kind: static class of Errors
Extends: Error
Properties
WorkflowManager.DefaultCircuitOptions
Default circuit breaker options.
Kind: static constant of WorkflowManager