Class VideoConversionWork
- java.lang.Object
-
- org.nuxeo.ecm.core.work.AbstractWork
-
- org.nuxeo.ecm.platform.video.service.VideoConversionWork
-
- All Implemented Interfaces:
Serializable
,Work
public class VideoConversionWork extends AbstractWork
Work running a defined video conversion.- Since:
- 5.6
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.nuxeo.ecm.core.work.api.Work
Work.Progress, Work.State
-
-
Field Summary
Fields Modifier and Type Field Description static String
CATEGORY_VIDEO_CONVERSION
protected String
conversionName
static String
VIDEO_CONVERSIONS_DONE_EVENT
-
Fields 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 Constructor Description VideoConversionWork(String repositoryName, String docId, String conversionName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static String
computeIdPrefix(String repositoryName, String docId)
boolean
equals(Object other)
protected void
fireVideoConversionsDoneEvent()
Fire aVIDEO_CONVERSIONS_DONE_EVENT
event when no other VideoConversionWork is scheduled for this document.String
getCategory()
Gets the category for this work.String
getPartitionKey()
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.String
getTitle()
Gets a human-readable name for this work instance.protected Video
getVideoToConvert(DocumentModel doc)
int
hashCode()
boolean
isGroupJoin()
When true the Work is part of a group, Works of the group have the sameWork.getPartitionKey()
.boolean
isIdempotent()
Returns true if a work with a givenWork.getId()
should always produce the same result.void
onGroupJoinCompletion()
Called whenWork.isGroupJoin()
returns true and after the last Work of the group.protected void
resetTranscodedVideos(DocumentModel doc)
protected void
saveNewTranscodedVideo(DocumentModel doc, TranscodedVideo transcodedVideo)
void
work()
This method should implement the actual work done by theWork
instance.-
Methods inherited from class org.nuxeo.ecm.core.work.AbstractWork
appendWorkToDeadLetterQueue, buildWorkFailureEventProps, cleanUp, closeSession, commitOrRollbackTransaction, getCompletionTime, getDocument, getDocuments, getId, getOriginatingUsername, getProgress, getRetryCount, getSchedulePath, getSchedulingTime, getSpanFromContext, getStartTime, getStatus, getWorkInstanceState, initSession, initSession, isDocumentTree, isSuspending, isWorkInstanceSuspended, newDocumentLocation, openSystemSession, openUserSession, run, runWorkWithTransaction, setCompletionTime, setDocument, setDocument, setDocuments, setOriginatingUsername, setProgress, setSchedulePath, setStartTime, setStatus, setWorkInstanceState, setWorkInstanceSuspending, startTransaction, suspended, toString, workFailed
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.work.api.Work
isCoalescing
-
-
-
-
Field Detail
-
CATEGORY_VIDEO_CONVERSION
public static final String CATEGORY_VIDEO_CONVERSION
- See Also:
- Constant Field Values
-
VIDEO_CONVERSIONS_DONE_EVENT
public static final String VIDEO_CONVERSIONS_DONE_EVENT
- See Also:
- Constant Field Values
-
conversionName
protected final String conversionName
-
-
Constructor Detail
-
VideoConversionWork
public VideoConversionWork(String repositoryName, String docId, String conversionName)
-
-
Method Detail
-
computeIdPrefix
protected static String computeIdPrefix(String repositoryName, String docId)
-
getCategory
public String getCategory()
Description copied from interface:Work
Gets the category for this work.Used to choose an execution queue.
- Specified by:
getCategory
in interfaceWork
- Overrides:
getCategory
in classAbstractWork
- Returns:
- the category, or
null
for the default
-
getTitle
public String getTitle()
Description copied from interface:Work
Gets a human-readable name for this work instance.- Returns:
- a human-readable name
-
work
public void work()
Description copied from interface:Work
This method should implement the actual work done by theWork
instance.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 iftrue
callWork.suspended()
return early with saved state data.Clean up can by implemented by
Work.cleanUp(boolean, Exception)
.- Specified by:
work
in interfaceWork
- Specified by:
work
in classAbstractWork
- See Also:
Work.isSuspending()
,Work.suspended()
,Work.cleanUp(boolean, java.lang.Exception)
-
isIdempotent
public boolean isIdempotent()
Description copied from interface:Work
Returns 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.
-
isGroupJoin
public boolean isGroupJoin()
Description copied from interface:Work
When true the Work is part of a group, Works of the group have the sameWork.getPartitionKey()
. When all Works of the group are done theWork.onGroupJoinCompletion()
hook is called.
-
getPartitionKey
public String getPartitionKey()
Description copied from interface: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.- Specified by:
getPartitionKey
in interfaceWork
- Overrides:
getPartitionKey
in classAbstractWork
-
onGroupJoinCompletion
public void onGroupJoinCompletion()
Description copied from interface:Work
Called whenWork.isGroupJoin()
returns true and after the last Work of the group.
-
equals
public boolean equals(Object other)
- Overrides:
equals
in classAbstractWork
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classAbstractWork
-
getVideoToConvert
protected Video getVideoToConvert(DocumentModel doc)
-
resetTranscodedVideos
protected void resetTranscodedVideos(DocumentModel doc)
-
saveNewTranscodedVideo
protected void saveNewTranscodedVideo(DocumentModel doc, TranscodedVideo transcodedVideo)
-
fireVideoConversionsDoneEvent
protected void fireVideoConversionsDoneEvent()
Fire aVIDEO_CONVERSIONS_DONE_EVENT
event when no other VideoConversionWork is scheduled for this document.- Since:
- 5.8
-
-