Click or drag to resize

CadenceSettings Class

Cadence client settings.
Inheritance Hierarchy
SystemObject
  Neon.CadenceCadenceSettings

Namespace:  Neon.Cadence
Assembly:  Neon.Cadence (in Neon.Cadence.dll) Version: 2.14.0
Syntax
public class CadenceSettings

The CadenceSettings type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyActivityHeartbeatTimeoutSeconds
Specifies the default maximum allowed between activity heartbeats. Activities that don't submit heartbeats within the time will be considered to be unhealthy and will be terminated. This defaults to 60 seconds.
Public propertyActivityScheduleToCloseTimeoutSeconds
Specifies the default maximum time an activity is allowed to wait after being scheduled until it's actually scheduled to execute on a worker. This defaults to 24 hours.
Public propertyActivityScheduleToStartTimeoutSeconds
Specifies the default maximum time an activity may wait to be started after being scheduled. This defaults to 24 hours.
Public propertyActivityStartToCloseTimeoutSeconds
Specifies the default maximum time an activity may run after being started. This defaults to 24 hours.
Public propertyBinaryFolder
Optionally specifies the folder where the embedded cadence-proxy binary will be written before starting it. This defaults to null which specifies that the binary will be written to the same folder where the Neon.Cadence assembly resides. This folder may not be writable by the current user so this allows you to specify an alternative folder.
Public propertyBinaryPath

Optionally specifies the path to the cadence-proxy executable file. This file must already be present on disk when a CadenceClient connection is established and the appropriate execute permissions must be set for Linux and OS/X. This property takes presidence over BinaryFolder when set.

This is useful for situations where the executable must be pre-provisioned for security. One example is deploying Cadence workers to a Docker container with a read-only file system.

Note Note
You can use the ExtractCadenceProxy(String) method to extract the Windows, Linux, and OS/X builds of the cadence-proxy executable from the Neon.Cadence assembly.
Public propertyClientIdentity
Optionally identifies the client application establishing the connection so that Cadence may include this in its logs and metrics. This defaults to "unknown".
Public propertyClientTimeoutSeconds
Optionally specifies the maximum time the client should wait for synchronous operations to complete. This defaults to 10 seconds.
Public propertyConnectRetries
Specifies the number of times to retry connecting to the Cadence cluster. This defaults to 3.
Public propertyConnectRetryDelaySeconds
Specifies the number of seconds to delay between cluster connection attempts. This defaults to 5.0 seconds.
Public propertyCreateDomain

Optionally create the DefaultDomain if it doesn't already exist. This defaults to false.

Note Note
Enabling this can be handy for unit testing where you'll likely be starting off with a virgin Cadence server when the test start. We don't recommend enabling this for production services. For production, you should explicitly create your domains with suitable setttings such has how long workflow histories are to be retained.
Note Note
If the default domain doesn't exist when CreateDomain=true when a connection is established, it will be initialized to retain workflow histories for up to 7 days.
Public propertyDebug
Optionally specifies that the connection should run in DEBUG mode. This currently launches the cadence-proxy with a command window (on Windows only) to make it easy to see any output it generates and also has cadence-proxy. This defaults to false.
Public propertyDebugDisableHandshakes
INTERNAL USE ONLY: Optionally indicates that the cadence-client will not perform the InitializeRequest/InitializeReply and TerminateRequest/TerminateReply handshakes with the cadence-proxy for debugging purposes. This defaults to false.
Public propertyDebugDisableHeartbeats
INTERNAL USE ONLY: Optionally disable health heartbeats. This can be useful while debugging the client but should never be set for production. This defaults to false.
Public propertyDebugHttpTimeout
INTERNAL USE ONLY: Optionally specifies the timeout to use for HTTP requests made to the cadence-proxy. This defaults to 5 seconds.
Public propertyDebugIgnoreHeartbeats
INTERNAL USE ONLY: Optionally disables heartbeat handling by the emulated cadence-proxy for testing purposes.
Public propertyDebugIgnoreTimeouts
INTERNAL USE ONLY: Optionally ignore operation timeouts. This can be useful while debugging the client but should never be set for production. This defaults to false.
Public propertyDebugPrelaunched
INTERNAL USE ONLY: Optionally indicates that the cadence-proxy will already be running for debugging purposes. When this is true, the cadence-client be hardcoded to listen on 127.0.0.1:5001 and the cadence-proxy will be assumed to be listening on 127.0.0.1:5000. This defaults to false.
Public propertyDefaultDomain
Specifies the default Cadence domain for this client. This defaults to null.
Public propertyDefaultTaskList
Specifies the default Cadence task list for this client. This defaults to null.
Public propertyHeartbeatIntervalSeconds
Optionally specifies the interval at which heartbeats are transmitted to cadence-proxy as a health check. This defaults to 5 seconds.
Public propertyHeartbeatTimeoutSeconds
Optionally specifies the maximum time to allow the cadence-proxy to respond to a heartbeat message. The proxy will be considered to be unhealthy when this happens. This defaults to 5 seconds.
Public propertyListenPort
Optionally specifies the port where the client will listen for traffic from the associated cadence-proxy. This defaults to 0 which specifies that lets the operating system choose an unused ephermal port.
Public propertyLogCadence
Optionally specifies that messages from the embedded GOLANG Cadence client will be included in the log output. This defaults to false.
Public propertyLogCadenceProxy
Optionally specifies that messages from the internal cadence-proxy code that bridges between .NET and the embedded GOLANG Cadence client will be included in the log output. This defaults to false.
Public propertyLogDuringReplay
Optionally enable workflow logging while the workflow is being replayed from history. This should generally be enabled only while debugging. This defaults to false.
Public propertyLogLevel
Optionally specifies the logging level for the associated cadence-proxy. This defaults to None which will be appropriate for most production situations. You may wish to set this to Info or Debug while debugging.
Public propertyMaxWorkflowDelaySeconds
EXPERIMENTAL: Specifies the maximum seconds that a workflow will be kept alive after the workflow method returns to handle any oustanding synchronous signal queries. This defaults to 30.0 seconds.
Public propertyMaxWorkflowWaitUntilRunningSeconds
Public propertyProxyTimeoutSeconds
Optionally specifies the maximum time to allow the cadence-proxy to indicate that it has received a proxy request message by returning an OK response. The proxy will be considered to be unhealthy when this happens. This defaults to 5 seconds.
Public propertySecurityToken

The Cadence cluster security token. This defaults to null.

Note Note
This is not currently supported by the .NET Cadence client and should be left alone for now.
Public propertyServers
One or more Cadence server URIs.
Public propertyWorkflowDecisionTaskTimeoutSeconds
Specifies the default maximum time a workflow decision task may execute. This must be with the range of 1 < value <= 60 seconds. This defaults to 10 seconds.
Public propertyWorkflowIdReusePolicy
Specifies what happens when Cadence workflows attempt to reuse workflow IDs. This defaults to AllowDuplicate. Workflows can customize this via WorkflowOptions or ChildWorkflowOptions or by setting this in the WorkflowMethodAttribute tagging the workflow entry point method
Public propertyWorkflowScheduleToStartTimeoutSeconds
Specifies the default maximum time a workflow can wait between being scheduled and actually begin executing. This defaults to 24 hours.
Public propertyWorkflowStartToCloseTimeoutSeconds
Specifies the default maximum workflow execution time. This defaults to 24 hours.
Top
Methods
  NameDescription
Public methodClone
Returns a copy of the current instance.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also