Class UpdateGraphJobScheduler
java.lang.Object
io.deephaven.engine.table.impl.util.UpdateGraphJobScheduler
- All Implemented Interfaces:
JobScheduler
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.util.JobScheduler
JobScheduler.IterateAction<CONTEXT_TYPE extends JobScheduler.JobThreadContext>, JobScheduler.IterateResumeAction<CONTEXT_TYPE extends JobScheduler.JobThreadContext>, JobScheduler.IterationManager<CONTEXT_TYPE extends JobScheduler.JobThreadContext>, JobScheduler.JobThreadContext -
Field Summary
Fields inherited from interface io.deephaven.engine.table.impl.util.JobScheduler
DEFAULT_CONTEXT, DEFAULT_CONTEXT_FACTORY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe performance statistics of all runnables that have been completed off-thread, or null if all were executed in the current thread.voidsubmit(ExecutionContext executionContext, Runnable runnable, LogOutputAppendable description, Consumer<Exception> onError) Cause runnable to be executed.intHow many threads exist in the job scheduler? The job submitters can use this value to determine how many sub-jobs to split work into.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.impl.util.JobScheduler
iterateParallel, iterateParallel, iterateSerial
-
Constructor Details
-
UpdateGraphJobScheduler
-
UpdateGraphJobScheduler
public UpdateGraphJobScheduler()
-
-
Method Details
-
submit
public void submit(ExecutionContext executionContext, Runnable runnable, LogOutputAppendable description, Consumer<Exception> onError) Description copied from interface:JobSchedulerCause runnable to be executed.- Specified by:
submitin interfaceJobScheduler- Parameters:
executionContext- the execution context to run it underrunnable- the runnable to executedescription- a description for loggingonError- a routine to call if an exception occurs while running runnable
-
getAccumulatedPerformance
Description copied from interface:JobSchedulerThe performance statistics of all runnables that have been completed off-thread, or null if all were executed in the current thread.When initializing an operation, the
OperationInitializerJobSchedulerexecutes the completion callback as part of another task. Therefore, you must not read the accumulated performance from the completion callback when initializing an operation; as it could miss data from some of the tasks. Furthermore, even though the completion callback identifies the result as ready does not mean that the completion callback has actually completed. To guard against this theOperationInitializerJobSchedulerwaits for all jobs to be complete before returning theBasePerformanceEntry. Therefore, if you call this from a completion callback, then the operation will hang.- Specified by:
getAccumulatedPerformancein interfaceJobScheduler
-
threadCount
public int threadCount()Description copied from interface:JobSchedulerHow many threads exist in the job scheduler? The job submitters can use this value to determine how many sub-jobs to split work into.- Specified by:
threadCountin interfaceJobScheduler
-