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
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 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)
-
-
-
Method Detail
-
getJobRetention
public abstract java.time.Duration getJobRetention()
-
getJobExpiration
public abstract java.time.Duration getJobExpiration()
-
getConfig
public abstract GorClusterConfig 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
public abstract java.lang.String getValue(java.lang.String jobId, JobField field)
-
setValue
public abstract void setValue(java.lang.String jobId, JobField field, java.lang.String value)
-
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
public abstract GorLocks locks()
-
pool
public abstract redis.clients.jedis.JedisPool pool()
-
addLogSubscription
public abstract GorLogSubscription addLogSubscription(GorLogReceiver receiver, java.lang.String... jobIds)
-
findJob
public abstract GorJob findJob(java.lang.String jobId)
-
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
public abstract void registerJobByFingerprint(java.lang.String fingerprint, GorJob job)
-
forget
protected abstract void forget(GorTaskBase task)
-
getCurrentStatistics
public abstract GorClusterBase.Statistics getCurrentStatistics()
-
submit
public abstract GorJob submit(java.lang.String queue, java.lang.String task, java.lang.Object... args)
-
submit
public abstract java.util.List<GorJob> submit(java.lang.String queue, BatchSubmission submission)
-
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.InterruptedException
Wait for jobs to finish- Parameters:
jobs- Jobs to wait formonitor- To receive callbacks- Throws:
java.lang.InterruptedException- if interrupted
-
cancel
public static void cancel(java.lang.Iterable<GorJob> jobs)
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
-
-