Class WorkerFactory
java.lang.Object
io.temporal.worker.WorkerFactory
-
Method Summary
Modifier and TypeMethodDescriptionvoidawaitTermination(long timeout, TimeUnit unit) Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs.booleanWasshutdown()orshutdownNow()called.booleanWasstart()called.booleanReturns true if all tasks have completed following shut down.static WorkerFactorynewInstance(WorkflowClient workflowClient) static WorkerFactorynewInstance(WorkflowClient workflowClient, WorkerFactoryOptions options) Creates worker that connects to an instance of the Temporal Service.newWorker(String taskQueue, WorkerOptions options) Creates worker that connects to an instance of the Temporal Service.voidvoidshutdown()Initiates an orderly shutdown in which polls are stopped and already received workflow and activity tasks are executed.voidInitiates an orderly shutdown in which polls are stopped and already received workflow and activity tasks are attempted to be stopped.voidstart()Starts all the workers created by this factory.voidtoString()tryGetWorker(String taskQueue)
-
Method Details
-
newInstance
-
newInstance
public static WorkerFactory newInstance(WorkflowClient workflowClient, WorkerFactoryOptions options) -
newWorker
Creates worker that connects to an instance of the Temporal Service. It uses the namespace configured at the Factory level. New workers cannot be created after the start() has been called- Parameters:
taskQueue- task queue name worker uses to poll. It uses this name for both workflow and activity task queue polls.- Returns:
- Worker
-
newWorker
Creates worker that connects to an instance of the Temporal Service. It uses the namespace configured at the Factory level. New workers cannot be created after the start() has been called- Parameters:
taskQueue- task queue name worker uses to poll. It uses this name for both workflow and activity task queue polls.options- Options (likeDataConverteroverride) for configuring worker.- Returns:
- Worker
-
getWorker
- Parameters:
taskQueue- task queue name to lookup an existing worker for- Returns:
- a worker created previously through
newWorker(String)for the given task queue. - Throws:
IllegalStateException- if the worker has not been registered for the given task queue.
-
tryGetWorker
- Parameters:
taskQueue- task queue name to lookup an existing worker for- Returns:
- a worker created previously through
newWorker(String)for the given task queue or null.
-
start
public void start()Starts all the workers created by this factory. -
isStarted
public boolean isStarted()Wasstart()called. -
isShutdown
public boolean isShutdown()Wasshutdown()orshutdownNow()called. -
isTerminated
public boolean isTerminated()Returns true if all tasks have completed following shut down. Note that isTerminated is never true unless either shutdown or shutdownNow was called first. -
getWorkflowClient
- Returns:
- instance of the Temporal client that this worker factory uses.
-
shutdown
public void shutdown()Initiates an orderly shutdown in which polls are stopped and already received workflow and activity tasks are executed.
After the shutdown, calls toActivityExecutionContext.heartbeat(Object)start throwingActivityWorkerShutdownException, unlessWorkerOptions.Builder.setAllowActivityHeartbeatDuringShutdown(boolean)is enabled, in which case heartbeats keep working until the activity tasks finish executing.
This method does not wait for the shutdown to complete. UseawaitTermination(long, TimeUnit)to do that.
Invocation has no additional effect if already shut down. -
shutdownNow
public void shutdownNow()Initiates an orderly shutdown in which polls are stopped and already received workflow and activity tasks are attempted to be stopped.
This implementation cancels tasks via Thread.interrupt(), so any task that fails to respond to interrupts may never terminate.
After the shutdownNow calls toActivityExecutionContext.heartbeat(Object)start throwingActivityWorkerShutdownException.
This method does not wait for the shutdown to complete. UseawaitTermination(long, TimeUnit)to do that.
Invocation has no additional effect if already shut down. -
awaitTermination
Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs. -
suspendPolling
public void suspendPolling() -
resumePolling
public void resumePolling() -
toString
-