Package org.gorpipe.spark.platform
Class GorClusterBase
java.lang.Object
org.gorpipe.spark.platform.GorClusterBase
- All Implemented Interfaces:
java.lang.AutoCloseable,java.lang.Runnable
- Direct Known Subclasses:
GeneralSparkCluster
public abstract class GorClusterBase
extends java.lang.Object
implements java.lang.Runnable, java.lang.AutoCloseable
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classGorClusterBase.Statistics -
Constructor Summary
Constructors Constructor Description GorClusterBase() -
Method Summary
Modifier and Type Method Description abstract GorLogSubscriptionaddLogSubscription(GorLogReceiver receiver, java.lang.String... jobIds)abstract voidaddScore(java.lang.String partition, int seconds)static voidcancel(java.lang.Iterable<GorJob> jobs)Do best effort of canceling a list of jobs.abstract org.gorpipe.gor.model.GorParallelQueryHandlercreateQueryHandler(boolean workOff, GorQuery query, java.lang.String securityContext)abstract java.lang.ObjectcreateWorker()abstract java.lang.ObjectcreateWorker(java.lang.String queue)abstract GorJobfindJob(java.lang.String jobId)abstract GorJobfindJobByFingerprint(java.lang.String fingerprint, java.util.function.Function<java.net.URI,GorClusterBase> clusterLookup)protected abstract voidforget(GorTaskBase task)abstract GorClusterConfiggetConfig()abstract GorClusterBase.StatisticsgetCurrentStatistics()abstract java.time.DurationgetJobExpiration()abstract java.lang.StringgetJobMessage(java.lang.String requestId)abstract java.time.DurationgetJobRetention()abstract java.util.Map<JobStatus,java.lang.Integer>getJobStatusesByRequestId(java.lang.String requestId)protected java.lang.StringgetLocalHostName()abstract java.lang.StringgetSecurityContext(java.lang.String key)abstract java.lang.StringgetValue(java.lang.String jobId, JobField field)abstract booleanjobExists(java.lang.String jobId)abstract GorLockslocks()abstract voidlogDebug(java.lang.String message)abstract voidlogError(java.lang.String message, java.lang.Throwable th)abstract voidlogInfo(java.lang.String message, java.lang.Throwable th)abstract voidlogProgress(java.lang.String jobId, java.lang.String progress)abstract voidlogWarn(java.lang.String message, java.lang.Throwable th)voidonWorkerException(java.lang.Runnable runnable)Can register (single) runnable to run on worker exceptionabstract redis.clients.jedis.JedisPoolpool()abstract GorJobprioritySubmit(java.lang.String queue, java.lang.String task, java.lang.Object... args)abstract voidregisterJobByFingerprint(java.lang.String fingerprint, GorJob job)abstract voidsetValue(java.lang.String jobId, JobField field, java.lang.String value)abstract java.lang.StringstoreSecurityContext(java.lang.String securityContext)abstract GorJobsubmit(java.lang.String queue, java.lang.String task, java.lang.Object... args)abstract java.util.List<GorJob>submit(java.lang.String queue, BatchSubmission submission)abstract voidsubscribeGorMonitor(java.lang.String requestId, org.gorpipe.gor.monitor.GorMonitor gorMonitor)voidwaitFor(java.lang.Iterable<GorJob> jobs, JobMonitor monitor)Wait for jobs to finishvoidworkerFatalException(java.lang.Object source, java.lang.Throwable t)Worker should notify cluster that it is exiting because of exception.abstract voidyieldFor(java.util.Collection<GorJob> jobs, java.lang.String queue, JobMonitor monitor)
-
Constructor Details
-
GorClusterBase
public GorClusterBase()
-
-
Method Details
-
getJobRetention
public abstract java.time.Duration getJobRetention() -
getJobExpiration
public abstract java.time.Duration getJobExpiration() -
getConfig
-
logInfo
public abstract void logInfo(java.lang.String message, java.lang.Throwable th) -
logDebug
public abstract void logDebug(java.lang.String message) -
logWarn
public abstract void logWarn(java.lang.String message, java.lang.Throwable th) -
logError
public abstract void logError(java.lang.String message, java.lang.Throwable th) -
logProgress
public abstract void logProgress(java.lang.String jobId, java.lang.String progress) -
getValue
-
setValue
-
yieldFor
public abstract void yieldFor(java.util.Collection<GorJob> jobs, java.lang.String queue, JobMonitor monitor) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
locks
-
pool
public abstract redis.clients.jedis.JedisPool pool() -
addLogSubscription
public abstract GorLogSubscription addLogSubscription(GorLogReceiver receiver, java.lang.String... jobIds) -
findJob
-
getJobStatusesByRequestId
public abstract java.util.Map<JobStatus,java.lang.Integer> getJobStatusesByRequestId(java.lang.String requestId) -
getJobMessage
public abstract java.lang.String getJobMessage(java.lang.String requestId) -
subscribeGorMonitor
public abstract void subscribeGorMonitor(java.lang.String requestId, org.gorpipe.gor.monitor.GorMonitor gorMonitor) -
jobExists
public abstract boolean jobExists(java.lang.String jobId) -
findJobByFingerprint
public abstract GorJob findJobByFingerprint(java.lang.String fingerprint, java.util.function.Function<java.net.URI,GorClusterBase> clusterLookup) -
registerJobByFingerprint
-
forget
-
getCurrentStatistics
-
submit
public abstract GorJob submit(java.lang.String queue, java.lang.String task, java.lang.Object... args) -
submit
-
prioritySubmit
public abstract GorJob prioritySubmit(java.lang.String queue, java.lang.String task, java.lang.Object... args) -
addScore
public abstract void addScore(java.lang.String partition, int seconds) -
storeSecurityContext
public abstract java.lang.String storeSecurityContext(java.lang.String securityContext) -
getSecurityContext
public abstract java.lang.String getSecurityContext(java.lang.String key) -
createQueryHandler
public abstract org.gorpipe.gor.model.GorParallelQueryHandler createQueryHandler(boolean workOff, GorQuery query, java.lang.String securityContext) -
createWorker
public abstract java.lang.Object createWorker() -
createWorker
public abstract java.lang.Object createWorker(java.lang.String queue) -
waitFor
public void waitFor(java.lang.Iterable<GorJob> jobs, JobMonitor monitor) throws java.lang.InterruptedExceptionWait for jobs to finish- Parameters:
jobs- Jobs to wait formonitor- To receive callbacks- Throws:
java.lang.InterruptedException- if interrupted
-
cancel
Do best effort of canceling a list of jobs. Exceptions will be ignored but logged. -
getLocalHostName
protected java.lang.String getLocalHostName() -
workerFatalException
public void workerFatalException(java.lang.Object source, java.lang.Throwable t)Worker should notify cluster that it is exiting because of exception.- Parameters:
source- Objectt- Exception
-
onWorkerException
public void onWorkerException(java.lang.Runnable runnable)Can register (single) runnable to run on worker exception- Parameters:
runnable- Runnable action
-