@Override public Future<?> submit(String name, Runnable task) { return getExecutor(name).submit(task); }
@Override public <T> Future<T> submit(String name, Callable<T> task) { return getExecutor(name).submit(task); }
@Override public Future<?> submit(String name, Runnable task) { return getExecutor(name).submit(task); }
@Override public <T> Future<T> submit(String name, Callable<T> task) { return getExecutor(name).submit(task); }
protected Future<Result> runPartitionScanForPartition(String name, Predicate predicate, int partitionId, Result result) { QueryPartitionCallable task = new QueryPartitionCallable(name, predicate, partitionId, result); return executor.submit(task); }
protected Future<Result> runPartitionScanForPartition(String name, Predicate predicate, int partitionId, Result result) { QueryPartitionCallable task = new QueryPartitionCallable(name, predicate, partitionId, result); return executor.submit(task); }
protected Collection<Aggregator> accumulateParallel(Aggregator aggregator, Collection<QueryableEntry> entries) { Collection<Future<Aggregator>> futures = new ArrayList<Future<Aggregator>>(); Collection<QueryableEntry>[] chunks = split(entries, THREAD_SPLIT_COUNT); if (chunks == null) { // not enough elements for split AccumulatePartitionCallable task = new AccumulatePartitionCallable(clone(aggregator), entries); futures.add(executor.submit(task)); } else { // split elements for (Collection<QueryableEntry> chunk : chunks) { AccumulatePartitionCallable task = new AccumulatePartitionCallable(clone(aggregator), chunk); futures.add(executor.submit(task)); } } return returnWithDeadline(futures, callTimeoutInMillis, MILLISECONDS, RETHROW_EVERYTHING); }
protected Collection<Aggregator> accumulateParallel(Aggregator aggregator, Collection<QueryableEntry> entries) { Collection<Future<Aggregator>> futures = new ArrayList<Future<Aggregator>>(); Collection<QueryableEntry>[] chunks = split(entries, THREAD_SPLIT_COUNT); if (chunks == null) { // not enough elements for split AccumulatePartitionCallable task = new AccumulatePartitionCallable(clone(aggregator), entries); futures.add(executor.submit(task)); } else { // split elements for (Collection<QueryableEntry> chunk : chunks) { AccumulatePartitionCallable task = new AccumulatePartitionCallable(clone(aggregator), chunk); futures.add(executor.submit(task)); } } return returnWithDeadline(futures, callTimeoutInMillis, MILLISECONDS, RETHROW_EVERYTHING); }
public void checkFullyProcessed(JobProcessInformation processInformation) { if (isOwnerNode()) { JobPartitionState[] partitionStates = processInformation.getPartitionStates(); for (JobPartitionState partitionState : partitionStates) { if (partitionState == null || partitionState.getState() != JobPartitionState.State.PROCESSED) { return; } } final String name = configuration.getName(); final String jobId = configuration.getJobId(); final NodeEngine nodeEngine = configuration.getNodeEngine(); final GetResultOperationFactory operationFactory = new GetResultOperationFactory(name, jobId); // Get the initial future object to eventually set the result and cleanup final TrackableJobFuture future = jobTracker.unregisterTrackableJob(jobId); if (future == null) { // If already handled just return return; } final JobSupervisor jobSupervisor = this; Runnable runnable = new GetResultsRunnable(nodeEngine, operationFactory, jobId, jobSupervisor, future); ExecutionService executionService = nodeEngine.getExecutionService(); ManagedExecutorService executor = executionService.getExecutor(ExecutionService.ASYNC_EXECUTOR); executor.submit(runnable); } }
public void checkFullyProcessed(JobProcessInformation processInformation) { if (isOwnerNode()) { JobPartitionState[] partitionStates = processInformation.getPartitionStates(); for (JobPartitionState partitionState : partitionStates) { if (partitionState == null || partitionState.getState() != JobPartitionState.State.PROCESSED) { return; } } final String name = configuration.getName(); final String jobId = configuration.getJobId(); final NodeEngine nodeEngine = configuration.getNodeEngine(); final GetResultOperationFactory operationFactory = new GetResultOperationFactory(name, jobId); // Get the initial future object to eventually set the result and cleanup final TrackableJobFuture future = jobTracker.unregisterTrackableJob(jobId); if (future == null) { // If already handled just return return; } final JobSupervisor jobSupervisor = this; Runnable runnable = new GetResultsRunnable(nodeEngine, operationFactory, jobId, jobSupervisor, future); ExecutionService executionService = nodeEngine.getExecutionService(); ManagedExecutorService executor = executionService.getExecutor(ExecutionService.ASYNC_EXECUTOR); executor.submit(runnable); } }