workflow-manager
TypeScript icon, indicating that this package has built-in type declarations

0.16.1 • Public • Published

workflow-manager

workflow-manager client library.

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(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.fetchHistory] boolean When true, the execution history will be fetched from SFN along with the workflow summary
[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

Name Type
message string

Errors.InternalError ⇐ Error

InternalError

Kind: static class of Errors
Extends: Error
Properties

Name Type
message string

Errors.NotFound ⇐ Error

NotFound

Kind: static class of Errors
Extends: Error
Properties

Name Type
message string

Errors.Conflict ⇐ Error

Conflict

Kind: static class of Errors
Extends: Error
Properties

Name Type
message string

WorkflowManager.DefaultCircuitOptions

Default circuit breaker options.

Kind: static constant of WorkflowManager

Readme

Keywords

none

Package Sidebar

Install

npm i workflow-manager

Weekly Downloads

358

Version

0.16.1

License

none

Unpacked Size

114 kB

Total Files

5

Last publish

Collaborators

  • cleverdrone
  • clever
  • clevereng