final case class ZActivityOptions extends Product with Serializable
Options used to configure how an activity is invoked.
- Alphabetic
- By Inheritance
- ZActivityOptions
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val cancellationType: Option[ActivityCancellationType]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- val contextPropagators: List[ContextPropagator]
- val disableEagerExecution: Option[Boolean]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- val heartbeatTimeout: Option[zio.Duration]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val retryOptions: Option[ZRetryOptions]
- val scheduleToCloseTimeout: Option[zio.Duration]
- val scheduleToStartTimeout: Option[zio.Duration]
- val startToCloseTimeout: Option[zio.Duration]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val taskQueue: Option[String]
- def toJava: ActivityOptions
Convert to Java SDK's ActivityOptions
- def toString(): String
- Definition Classes
- ZActivityOptions → AnyRef → Any
- def transformJavaOptions(f: (Builder) => Builder): ZActivityOptions
Allows to specify options directly on the java SDK's ActivityOptions.
Allows to specify options directly on the java SDK's ActivityOptions. Use it in case an appropriate
withXXX
method is missing- Note
the options specified via this method take precedence over those specified via other methods.
- val versioningIntent: Option[VersioningIntent]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withCancellationType(value: ActivityCancellationType): ZActivityOptions
In case of an activity's scope cancellation the corresponding activity stub call fails with a zio.temporal.failure.CanceledFailure
In case of an activity's scope cancellation the corresponding activity stub call fails with a zio.temporal.failure.CanceledFailure
- value
Defines the activity's stub cancellation mode. The default value is ActivityCancellationType.TRY_CANCEL
- See also
ActivityCancellationType
- def withContextPropagators(values: ContextPropagator*): ZActivityOptions
- See also
- def withContextPropagators(values: List[ContextPropagator]): ZActivityOptions
Note:
This method has extremely limited usage.Note:
This method has extremely limited usage. The majority of users should just set zio.temporal.workflow.ZWorkflowClientOptions.withContextPropagatorsBoth "client" (workflow worker) and "server" (activity worker) sides of context propagation from a workflow to an activity exist in a worker process (potentially the same one), so they typically share the same worker options. Specifically, ContextPropagators specified on zio.temporal.workflow.ZWorkflowClientOptions.withContextPropagators.
zio.temporal.workflow.ZWorkflowClientOptions.withContextPropagators is the right place to specify ContextPropagators between Workflow and an Activity.
Specifying context propagators with this method overrides them only on the "client" (workflow) side and can't be automatically promoted to the "server" (activity worker), which always uses ContextPropagators from zio.temporal.workflow.ZWorkflowClientOptions.contextPropagators
The only legitimate usecase for this method is probably a situation when the specific activity is implemented in a different language and in a completely different worker codebase and in that case setting a ContextPropagator that is applied only on a "client" side could make sense.
This is also why there is no equivalent method on Local activity options.- values
specifies the list of context propagators to use during propagation from a workflow to the activity with these activity options. This list overrides the list specified on zio.temporal.workflow.ZWorkflowClientOptions.contextPropagators
- def withDisableEagerExecution(value: Boolean): ZActivityOptions
If set to true, will not request eager execution regardless of worker settings.
If set to true, will not request eager execution regardless of worker settings. If false, eager execution may still be disabled at the worker level or eager execution may not be requested due to lack of available slots.
Eager activity execution means the server returns requested eager activities directly from the workflow task back to this worker which is faster than non-eager which may be dispatched to a separate worker.
Defaults to false, meaning that eager activity execution will be requested if possible.
- def withHeartbeatTimeout(value: zio.Duration): ZActivityOptions
Heartbeat interval.
Heartbeat interval. Activity must call ZActivityExecutionContext.heartbeat before this interval passes after the last heartbeat or the Activity starts.
- def withRetryOptions(options: ZRetryOptions): ZActivityOptions
RetryOptions that define how an Activity is retried in case of failure.
RetryOptions that define how an Activity is retried in case of failure.
If not provided, the server-defined default activity retry policy will be used. If not overridden, the server default activity retry policy is:
InitialInterval: 1 second BackoffCoefficient: 2 MaximumInterval: 100 seconds // 100 * InitialInterval MaximumAttempts: 0 // Unlimited NonRetryableErrorTypes: []
- def withScheduleToCloseTimeout(value: zio.Duration): ZActivityOptions
Total time that a workflow is willing to wait for an Activity to complete.
Total time that a workflow is willing to wait for an Activity to complete.
ScheduleToCloseTimeout limits the total time of an Activity's execution including retries withStartToCloseTimeout to limit the time of a single attempt).
Either this option or withStartToCloseTimeout is required.
Defaults to unlimited, which is chosen if set to null.
- def withScheduleToStartTimeout(value: zio.Duration): ZActivityOptions
Time that the Activity Task can stay in the Task Queue before it is picked up by a Worker.
Time that the Activity Task can stay in the Task Queue before it is picked up by a Worker.
ScheduleToStartTimeout is always non-retryable. Retrying after this timeout doesn't make sense as it would just put the Activity Task back into the same Task Queue.
Defaults to unlimited.
- def withStartToCloseTimeout(value: zio.Duration): ZActivityOptions
Maximum time of a single Activity attempt.
Maximum time of a single Activity attempt.
Note that the Temporal Server doesn't detect Worker process failures directly. It relies on this timeout to detect that an Activity that didn't complete on time. So this timeout should be as short as the longest possible execution of the Activity body. Potentially long-running Activities must specify HeartbeatTimeout and call ZActivityExecutionContext.heartbeat periodically for timely failure detection.
If withScheduleToCloseTimeout is not provided, then this timeout is required.
- def withTaskQueue(value: String): ZActivityOptions
Task queue to use when dispatching activity task to a worker.
Task queue to use when dispatching activity task to a worker. By default, it is the same task list name the workflow was started with.
- def withVersioningIntent(value: VersioningIntent): ZActivityOptions
Specifies whether this activity should run on a worker with a compatible Build Id or not.
Specifies whether this activity should run on a worker with a compatible Build Id or not.
- See also
VersioningIntent
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)