public abstract class GenericWorker extends Object implements WorkerBase
Constructor and Description |
---|
GenericWorker() |
GenericWorker(AmazonSimpleWorkflow service,
String domain,
String taskListToPoll) |
Modifier and Type | Method and Description |
---|---|
boolean |
awaitTermination(long timeout,
TimeUnit unit) |
String |
getDomain() |
long |
getDomainRetentionPeriodInDays() |
String |
getIdentity() |
int |
getMaximumPollRateIntervalMilliseconds() |
double |
getMaximumPollRatePerSecond() |
double |
getPollBackoffCoefficient() |
long |
getPollBackoffInitialInterval() |
long |
getPollBackoffMaximumInterval() |
int |
getPollThreadCount() |
AmazonSimpleWorkflow |
getService() |
String |
getTaskListToPoll()
Task list name that given worker polls for tasks.
|
Thread.UncaughtExceptionHandler |
getUncaughtExceptionHandler() |
boolean |
isDisableServiceShutdownOnStop() |
boolean |
isDisableTypeRegistrationOnStart() |
boolean |
isRegisterDomain() |
boolean |
isRunning() |
void |
resumePolling()
Allow new poll requests.
|
void |
setDisableServiceShutdownOnStop(boolean disableServiceShutdownOnStop)
By default when @{link
shutdown() or @{link
shutdownNow() is called the worker calls
AmazonSimpleWorkflow.shutdown() on the service instance it is
configured with before shutting down internal thread pools. |
void |
setDisableTypeRegistrationOnStart(boolean disableTypeRegistrationOnStart)
When set to true disables types registration on start even if
SkipTypeRegistration is not specified. |
void |
setDomain(String domain) |
void |
setDomainRetentionPeriodInDays(long domainRetentionPeriodInDays)
Value of DomainRetentionPeriodInDays parameter passed to
AmazonSimpleWorkflow.registerDomain(com.amazonaws.services.simpleworkflow.model.RegisterDomainRequest) call. |
void |
setIdentity(String identity)
Set the identity that worker specifies in the poll requests.
|
void |
setMaximumPollRateIntervalMilliseconds(int maximumPollRateIntervalMilliseconds)
The sliding window interval used to measure the poll rate.
|
void |
setMaximumPollRatePerSecond(double maximumPollRatePerSecond)
Maximum number of poll request to the task list per second allowed.
|
void |
setPollBackoffCoefficient(double backoffCoefficient) |
void |
setPollBackoffInitialInterval(long backoffInitialInterval)
Failed poll requests are retried after an interval defined by an
exponential backoff algorithm.
|
void |
setPollBackoffMaximumInterval(long backoffMaximumInterval) |
void |
setPollThreadCount(int threadCount)
Defines how many concurrent threads are used by the given worker to poll
the specified task list.
|
void |
setRegisterDomain(boolean registerDomain)
Should domain be registered on startup.
|
void |
setService(AmazonSimpleWorkflow service) |
void |
setTaskListToPoll(String taskListToPoll) |
void |
setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)
Handler notified about poll request and other unexpected failures.
|
void |
shutdown() |
boolean |
shutdownAndAwaitTermination(long timeout,
TimeUnit unit) |
void |
shutdownNow() |
void |
start() |
void |
suspendPolling()
Do not make new poll requests.
|
String |
toString() |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
registerTypesToPoll
public GenericWorker(AmazonSimpleWorkflow service, String domain, String taskListToPoll)
public GenericWorker()
public AmazonSimpleWorkflow getService()
getService
in interface WorkerBase
public void setService(AmazonSimpleWorkflow service)
public String getDomain()
getDomain
in interface WorkerBase
public void setDomain(String domain)
public boolean isRegisterDomain()
isRegisterDomain
in interface WorkerBase
public void setRegisterDomain(boolean registerDomain)
false
.
When enabled #setDomainRetentionPeriodInDays(Long)
property is
required.setRegisterDomain
in interface WorkerBase
public long getDomainRetentionPeriodInDays()
getDomainRetentionPeriodInDays
in interface WorkerBase
public void setDomainRetentionPeriodInDays(long domainRetentionPeriodInDays)
WorkerBase
AmazonSimpleWorkflow.registerDomain(com.amazonaws.services.simpleworkflow.model.RegisterDomainRequest)
call. Required when
WorkerBase.isRegisterDomain()
is true
.setDomainRetentionPeriodInDays
in interface WorkerBase
public String getTaskListToPoll()
WorkerBase
getTaskListToPoll
in interface WorkerBase
public void setTaskListToPoll(String taskListToPoll)
public double getMaximumPollRatePerSecond()
getMaximumPollRatePerSecond
in interface WorkerBase
public void setMaximumPollRatePerSecond(double maximumPollRatePerSecond)
WorkerBase
setMaximumPollRatePerSecond
in interface WorkerBase
WorkerBase.setMaximumPollRateIntervalMilliseconds(int)
public int getMaximumPollRateIntervalMilliseconds()
getMaximumPollRateIntervalMilliseconds
in interface WorkerBase
public void setMaximumPollRateIntervalMilliseconds(int maximumPollRateIntervalMilliseconds)
WorkerBase
setMaximumPollRateIntervalMilliseconds
in interface WorkerBase
WorkerBase.setMaximumPollRatePerSecond(double)
public Thread.UncaughtExceptionHandler getUncaughtExceptionHandler()
getUncaughtExceptionHandler
in interface WorkerBase
public void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)
WorkerBase
setUncaughtExceptionHandler
in interface WorkerBase
public String getIdentity()
getIdentity
in interface WorkerBase
public void setIdentity(String identity)
WorkerBase
setIdentity
in interface WorkerBase
identity
- maximum size is 256 characters.public long getPollBackoffInitialInterval()
getPollBackoffInitialInterval
in interface WorkerBase
public void setPollBackoffInitialInterval(long backoffInitialInterval)
WorkerBase
setPollBackoffInitialInterval
in interface WorkerBase
backoffInitialInterval
- the interval between failure and the first retry. Default is
100.public long getPollBackoffMaximumInterval()
getPollBackoffMaximumInterval
in interface WorkerBase
public void setPollBackoffMaximumInterval(long backoffMaximumInterval)
setPollBackoffMaximumInterval
in interface WorkerBase
backoffMaximumInterval
- maximum interval between poll request retries. Default is
60000 (one minute).WorkerBase.setPollBackoffInitialInterval(long)
public boolean isDisableServiceShutdownOnStop()
isDisableServiceShutdownOnStop
in interface WorkerBase
setDisableServiceShutdownOnStop(boolean)
public void setDisableServiceShutdownOnStop(boolean disableServiceShutdownOnStop)
shutdown()
or @{link
shutdownNow()
is called the worker calls
AmazonSimpleWorkflow.shutdown()
on the service instance it is
configured with before shutting down internal thread pools. Otherwise
threads that are waiting on a poll request might block shutdown for the
duration of a poll. This flag allows disabling this behavior.setDisableServiceShutdownOnStop
in interface WorkerBase
disableServiceShutdownOnStop
- true
means do not call
AmazonSimpleWorkflow.shutdown()
public double getPollBackoffCoefficient()
getPollBackoffCoefficient
in interface WorkerBase
public void setPollBackoffCoefficient(double backoffCoefficient)
setPollBackoffCoefficient
in interface WorkerBase
backoffCoefficient
- coefficient that defines how fast retry interval grows in case
of poll request failures. Default is 2.0.WorkerBase.setPollBackoffInitialInterval(long)
public int getPollThreadCount()
getPollThreadCount
in interface WorkerBase
public void setPollThreadCount(int threadCount)
WorkerBase
ActivityWorker
two separate threads pools are used. One for
polling and another one for executing activities. The size of the
activity execution thread pool is defined through
ActivityWorker.setTaskExecutorThreadPoolSize(int)
.setPollThreadCount
in interface WorkerBase
public void setDisableTypeRegistrationOnStart(boolean disableTypeRegistrationOnStart)
WorkerBase
SkipTypeRegistration
is not specified. Types still can be
registered by calling WorkerBase.registerTypesToPoll()
.setDisableTypeRegistrationOnStart
in interface WorkerBase
public boolean isDisableTypeRegistrationOnStart()
isDisableTypeRegistrationOnStart
in interface WorkerBase
public void start()
start
in interface WorkerLifecycle
public void shutdown()
shutdown
in interface WorkerLifecycle
public void shutdownNow()
shutdownNow
in interface WorkerLifecycle
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException
awaitTermination
in interface WorkerLifecycle
InterruptedException
public boolean shutdownAndAwaitTermination(long timeout, TimeUnit unit) throws InterruptedException
shutdownAndAwaitTermination
in interface WorkerLifecycle
InterruptedException
public boolean isRunning()
isRunning
in interface WorkerBase
public void suspendPolling()
Suspendable
suspendPolling
in interface Suspendable
public void resumePolling()
Suspendable
resumePolling
in interface Suspendable
Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.