ZWorker

zio.temporal.worker.ZWorker
See theZWorker companion object
class ZWorker

Hosts activity and workflow implementations. Uses long poll to receive activity and workflow tasks and processes them in a correspondent thread pool.

The codecRegistry carried here is the ''same'' CodecRegistry owned by this worker's ZWorkflowClientOptions. When None, the user supplied a custom DataConverter via withDataConverter(raw) and auto-registration is a silent no-op. When Some, the auto-registration call sites (addWorkflow[I] / addActivityImplementation(impl) / …) populate the registry at invocation time so users don't need to chain .addInterface[...] by hand on the options.

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

inline def addActivityImplementation[A <: AnyRef : ExtendsActivity](activity: A): UIO[ZWorker]

Registers activity implementation objects with a worker. An implementation object can implement one or more activity types.

Registers activity implementation objects with a worker. An implementation object can implement one or more activity types.

Auto-registration: at compile time, the macro walks A's base classes for every @activityInterface- annotated ancestor and registers each interface's codecs into this worker's CodecRegistry. This eliminates the need to chain .addInterface[A] on ZWorkflowClientOptions.withCodecRegistry(...).

Opt-out: when the user supplied a custom DataConverter via withDataConverter(raw), the registry is None and this auto-registration is a silent no-op.

Attributes

See also

Worker#registerActivitiesImplementations

inline def addActivityImplementationService[A <: AnyRef : Tag]: URIO[A, ZWorker]

Registers activity implementation objects with a worker. An implementation object can implement one or more activity types.

Registers activity implementation objects with a worker. An implementation object can implement one or more activity types.

Auto-registration: same contract as addActivityImplementation.

Attributes

See also

Worker#registerActivitiesImplementations

def addActivityImplementations(activityImplementationObject: ZActivityImplementationObject[_], moreObjects: ZActivityImplementationObject[_]*): UIO[ZWorker]

Attributes

See also
def addActivityImplementations(activityImplementationObjects: List[ZActivityImplementationObject[_]]): UIO[ZWorker]

Register activity implementation objects with a worker. An implementation object can implement one or more activity types.

Register activity implementation objects with a worker. An implementation object can implement one or more activity types.

An activity implementation object must implement at least one interface annotated with zio.temporal.activityInterface. Each method of the annotated interface becomes an activity type.

Implementations that share a worker must implement different interfaces as an activity type is identified by the activity interface, not by the implementation.

Auto-registration: each ZActivityImplementationObject carries a registerCodecs thunk captured at its construction time, so the element types are not lost by the List[_] boundary. This method invokes every thunk against this worker's registry before handing the impls to the Java SDK. Opt-out (withDataConverter(raw)codecRegistry = None) is a silent no-op.

Attributes

Adds workflow to this worker.

Adds workflow to this worker.

Auto-registration: the codecs for every parameter and return type of I's @workflowMethod / @signalMethod / @queryMethod methods are registered into this worker's CodecRegistry at compile time. This eliminates the need to chain .addInterface[I] on ZWorkflowClientOptions.withCodecRegistry(...).

Opt-out: when the user supplied a custom DataConverter via withDataConverter(raw), the registry is None and this auto-registration is a silent no-op — the foreign converter is trusted to handle serialization.

Attributes

def addWorkflowImplementations(workflowImplementationClass: ZWorkflowImplementationClass[_], moreClasses: ZWorkflowImplementationClass[_]*): UIO[ZWorker]

Attributes

See also
def addWorkflowImplementations(workflowImplementationClasses: List[ZWorkflowImplementationClass[_]]): UIO[ZWorker]

Registers workflow implementation classes with a worker. Can be called multiple times to add more types. A workflow implementation class must implement at least one interface with a method annotated with zio.temporal.workflowMethod. By default, the short name of the interface is used as a workflow type that this worker supports.

Registers workflow implementation classes with a worker. Can be called multiple times to add more types. A workflow implementation class must implement at least one interface with a method annotated with zio.temporal.workflowMethod. By default, the short name of the interface is used as a workflow type that this worker supports.

Implementations that share a worker must implement different interfaces as a workflow type is identified by the workflow interface, not by the implementation.

Attributes

Throws
io.temporal.worker.TypeAlreadyRegisteredException

if one of the workflow types is already registered

Attributes

See also
def addWorkflowImplementations(options: ZWorkflowImplementationOptions, workflowImplementationClasses: List[ZWorkflowImplementationClass[_]]): UIO[ZWorker]

Attributes

See also
def isSuspended: UIO[Boolean]
def resumePolling: UIO[Unit]
def suspendPolling: UIO[Unit]
def taskQueue: String
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any

Concrete fields

val toJava: Worker