/** {@inheritDoc} */ @Override public Map<? extends GridComputeJob, GridNode> map(List<GridNode> subgrid, @Nullable Void arg) throws GridException { GridComputeJob job = job(this.job, cacheName, affKey); return Collections.singletonMap(job, lb.getBalancedNode(job, null)); } }
/** {@inheritDoc} */ @Override public Map<? extends GridComputeJob, GridNode> map(List<GridNode> subgrid, @Nullable Void arg) throws GridException { GridComputeJob job = job(this.job, cacheName, affKey); return Collections.singletonMap(job, lb.getBalancedNode(job, null)); }
/** {@inheritDoc} */ @Override public Map<? extends GridComputeJob, GridNode> map(List<GridNode> subgrid, @Nullable Void arg) throws GridException { GridComputeJob job = job(this.job, this.arg); return Collections.singletonMap(job, lb.getBalancedNode(job, null)); }
/** {@inheritDoc} */ @Override public Map<? extends GridComputeJob, GridNode> map(List<GridNode> subgrid, GridifyArgument arg) throws GridException { assert !subgrid.isEmpty() : "Subgrid should not be empty: " + subgrid; assert grid != null : "Grid instance could not be injected"; assert balancer != null : "Load balancer could not be injected"; GridComputeJob job = new GridifyJobAdapter(arg); GridNode node = balancer.getBalancedNode(job, Collections.<GridNode>singletonList(grid.localNode())); if (node != null) { // Give preference to remote nodes. return Collections.singletonMap(job, node); } return Collections.singletonMap(job, balancer.getBalancedNode(job, null)); }
/** {@inheritDoc} */ @Override public Map<? extends GridComputeJob, GridNode> map(List<GridNode> subgrid, @Nullable Void arg) throws GridException { Map<GridComputeJob, GridNode> map = new HashMap<>(args.size(), 1); JobMapper mapper = new JobMapper(map); for (T jobArg : args) { GridComputeJob job = job(this.job, jobArg); mapper.map(job, lb.getBalancedNode(job, null)); } return map; }
/** {@inheritDoc} */ @Override public Map<? extends GridComputeJob, GridNode> map(List<GridNode> subgrid, @Nullable Void arg) throws GridException { Map<GridComputeJob, GridNode> map = new HashMap<>(args.size(), 1); JobMapper mapper = new JobMapper(map); for (T jobArg : args) { GridComputeJob job = job(this.job, jobArg); mapper.map(job, lb.getBalancedNode(job, null)); } return map; }
/** {@inheritDoc} */ @Override public final Map<? extends GridComputeJob, GridNode> map(List<GridNode> subgrid, T arg) throws GridException { assert subgrid != null; assert !subgrid.isEmpty(); Collection<? extends GridComputeJob> jobs = split(subgrid.size(), arg); if (F.isEmpty(jobs)) throw new GridException("Split returned no jobs."); Map<GridComputeJob, GridNode> map = U.newHashMap(jobs.size()); for (GridComputeJob job : jobs) { GridNode old = map.put(job, balancer.getBalancedNode(job, null)); if (old != null) throw new GridException("Failed to map task (same job instance is being mapped more than once) " + "[job=" + job + ", task=" + this + ']'); } return map; } }
/** {@inheritDoc} */ @Override public void send(Collection<? extends GridComputeJob> jobs) throws GridException { A.notNull(jobs, "jobs"); if (jobs.isEmpty()) throw new GridException("Empty jobs collection passed to send(...) method."); GridComputeLoadBalancer balancer = ctx.loadBalancing().getLoadBalancer(ses, getTaskTopology()); for (GridComputeJob job : jobs) { if (job == null) throw new GridException("Null job passed to send(...) method."); processMappedJobs(Collections.singletonMap(job, balancer.getBalancedNode(job, null))); } } };
mapper.send(job, balancer.getBalancedNode(job, exclNodes));
GridComputeJob job = job(c); mapper.map(job, lb.getBalancedNode(job, null));
GridComputeJob job = job(r); mapper.map(job, lb.getBalancedNode(job, null));