Package org.gorpipe.spark.platform
Class GorTaskBase
java.lang.Object
org.gorpipe.spark.platform.GorTaskBase
- All Implemented Interfaces:
java.lang.Runnable
public abstract class GorTaskBase
extends java.lang.Object
implements java.lang.Runnable
-
Constructor Summary
Constructors Modifier Constructor Description protectedGorTaskBase(java.lang.String jobId) -
Method Summary
Modifier and Type Method Description GorClusterBasegetCluster()java.lang.StringgetJobId()Get job idprotected java.lang.StringgetMessage(java.lang.String message)protected java.lang.StringgetProgressMessage(java.lang.String state)protected abstract java.lang.StringgetRequestId()JobStatusgetStatus()Get job statusstatic java.lang.StringgetTaskName(java.lang.Class<? extends GorTaskBase> taskClass)Get short name for task class.protected booleanhasLock()booleanisCancelled()Check if job has been cancelledprotected booleanlock(java.lang.String key, long timeoutMs)Get exclusive cluster-wide lockprotected voidlogDebug(java.lang.String message)protected voidlogError(java.lang.String message, java.lang.Throwable ex)protected voidlogInfo(java.lang.String message, java.lang.Throwable ex)protected voidlogProgress(java.lang.String progress)protected voidlogWarn(java.lang.String message, java.lang.Throwable ex)protected abstract java.lang.Stringperform()Work method.voidrun()voidsetCluster(GorClusterBase cluster)protected voidsetError(java.lang.String error)protected voidsetProgress(java.lang.String progress)protected voidsetResult(java.lang.String result)protected voidsetStatus(JobStatus status)protected voidunlock()Release lock
-
Constructor Details
-
GorTaskBase
protected GorTaskBase(java.lang.String jobId)
-
-
Method Details
-
perform
protected abstract java.lang.String perform() throws java.lang.ExceptionWork method. Should return normally if successful. Should raise error if not. Can either return or raise if cancelled.- Returns:
- result or null if no result
- Throws:
java.lang.Exception- on error
-
getJobId
public java.lang.String getJobId()Get job id- Returns:
- Job id
-
getRequestId
protected abstract java.lang.String getRequestId() -
setProgress
protected void setProgress(java.lang.String progress) -
setResult
protected void setResult(java.lang.String result) -
setStatus
-
setError
protected void setError(java.lang.String error) -
setCluster
-
getCluster
-
getStatus
Get job status- Returns:
- Status
-
lock
protected boolean lock(java.lang.String key, long timeoutMs) throws java.lang.InterruptedExceptionGet exclusive cluster-wide lock- Parameters:
key- Key to locktimeoutMs- Timeout in ms waiting for lock- Returns:
- true if lock was acquired
- Throws:
java.lang.InterruptedException
-
unlock
protected void unlock()Release lock -
hasLock
protected boolean hasLock() -
logInfo
protected void logInfo(java.lang.String message, java.lang.Throwable ex) -
logDebug
protected void logDebug(java.lang.String message) -
logWarn
protected void logWarn(java.lang.String message, java.lang.Throwable ex) -
logError
protected void logError(java.lang.String message, java.lang.Throwable ex) -
logProgress
protected void logProgress(java.lang.String progress) -
getMessage
protected java.lang.String getMessage(java.lang.String message) -
isCancelled
public boolean isCancelled()Check if job has been cancelled- Returns:
- true if canncelled
-
run
public final void run()- Specified by:
runin interfacejava.lang.Runnable
-
getProgressMessage
protected java.lang.String getProgressMessage(java.lang.String state) -
getTaskName
Get short name for task class.- Parameters:
taskClass- Class- Returns:
- name without package
-