Package org.nuxeo.ecm.core.work
Class SleepWork
java.lang.Object
org.nuxeo.ecm.core.work.AbstractWork
org.nuxeo.ecm.core.work.SleepWork
- All Implemented Interfaces:
Serializable,Work
Simple work that just sleeps, mostly used for tests.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.work.api.Work
Work.Progress, Work.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringstatic final Stringprotected booleanprotected AtomicIntegerprotected longprotected booleanprotected StringFields inherited from class org.nuxeo.ecm.core.work.AbstractWork
callerThread, completionTime, docId, docIds, FAILURE_EXCEPTION, FAILURE_MSG, GLOBAL_DLQ_COUNT_REGISTRY_NAME, id, isTree, loginContext, originatingUsername, progress, RANDOM, repositoryName, schedulePath, schedulingTime, session, startTime, state, status, suspended, suspending, traceContext, WORK_FAILED_EVENT, WORK_INSTANCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoWork()Gets the category for this work.Returns a key that can be used by the WorkManager implementation to guarantee that works with the same partition key will be executed in the order they are submitted.getTitle()Gets a human-readable name for this work instance.booleanWhen setting the coalescing flag to true you indicate to the work manager that if multiple works with the same id are scheduled you only care about the lastest execution.booleanReturns true if a work with a givenWork.getId()should always produce the same result.voidsetCoalescing(boolean coalescing) voidsetIdempotent(boolean idempotent) toString()voidwork()This method should implement the actual work done by theWorkinstance.Methods inherited from class org.nuxeo.ecm.core.work.AbstractWork
appendWorkToDeadLetterQueue, buildWorkFailureEventProps, cleanUp, closeSession, commitOrRollbackTransaction, equals, getCompletionTime, getDocument, getDocuments, getId, getOriginatingUsername, getProgress, getRetryCount, getSchedulePath, getSchedulingTime, getSpanFromContext, getStartTime, getStatus, getWorkInstanceState, hashCode, isDocumentTree, isSuspending, isWorkInstanceSuspended, newDocumentLocation, openSystemSession, openUserSession, run, runWorkWithTransaction, setCompletionTime, setDocument, setDocument, setDocuments, setOriginatingUsername, setProgress, setSchedulePath, setStartTime, setStatus, setWorkInstanceState, setWorkInstanceSuspending, startTransaction, suspended, workFailedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.nuxeo.ecm.core.work.api.Work
isGroupJoin, onGroupJoinCompletion
-
Field Details
-
CATEGORY
- See Also:
-
durationMillis
protected long durationMillis -
category
-
count
-
partitionKey
-
idempotent
protected boolean idempotent -
coalescing
protected boolean coalescing
-
-
Constructor Details
-
SleepWork
Creates a work instance that does nothing but sleep.- Parameters:
durationMillis- the sleep duration- Since:
- 10.2
-
SleepWork
- Since:
- 10.2
-
SleepWork
public SleepWork(long durationMillis) - Since:
- 10.2
-
-
Method Details
-
getCategory
Description copied from interface:WorkGets the category for this work.Used to choose an execution queue.
- Specified by:
getCategoryin interfaceWork- Overrides:
getCategoryin classAbstractWork- Returns:
- the category, or
nullfor the default
-
getTitle
Description copied from interface:WorkGets a human-readable name for this work instance.- Returns:
- a human-readable name
-
work
public void work()Description copied from interface:WorkThis method should implement the actual work done by theWorkinstance.It should periodically update its progress through
Work.setProgress(org.nuxeo.ecm.core.work.api.Work.Progress).To allow for suspension by the
WorkManager, it should periodically callWork.isSuspending(), and iftruecallWork.suspended()return early with saved state data.Clean up can by implemented by
Work.cleanUp(boolean, Exception).- Specified by:
workin interfaceWork- Specified by:
workin classAbstractWork- See Also:
-
doWork
- Throws:
InterruptedException
-
getPartitionKey
Description copied from interface:WorkReturns a key that can be used by the WorkManager implementation to guarantee that works with the same partition key will be executed in the order they are submitted.- Specified by:
getPartitionKeyin interfaceWork- Overrides:
getPartitionKeyin classAbstractWork
-
isIdempotent
public boolean isIdempotent()Description copied from interface:WorkReturns true if a work with a givenWork.getId()should always produce the same result. The WorkManager implementation can safely skip duplicate executions of idempotent work. -
setIdempotent
public void setIdempotent(boolean idempotent) -
isCoalescing
public boolean isCoalescing()Description copied from interface:WorkWhen setting the coalescing flag to true you indicate to the work manager that if multiple works with the same id are scheduled you only care about the lastest execution. The goal is to skip useless executions to save resources, It is up to the work manager implementation to support or not this optimization. -
setCoalescing
public void setCoalescing(boolean coalescing) -
toString
- Overrides:
toStringin classAbstractWork
-