Defines Ignite functionality for executing tasks and closures over nodes in the IClusterGroup. Instance of ICompute is obtained from grid projection using IClusterGroup.GetCompute method.
More...
|
ICompute | WithNoFailover () |
| Sets no-failover flag for the next executed task on this projection in the current thread. If flag is set, job will be never failed over even if remote node crashes or rejects execution. When task starts execution, the no-failover flag is reset, so all other task will use default failover policy, unless this flag is set again. More...
|
|
ICompute | WithTimeout (long timeout) |
| Sets task timeout for the next executed task on this projection in the current thread. When task starts execution, the timeout is reset, so one timeout is used only once. More...
|
|
ICompute | WithKeepBinary () |
| Sets keep-binary flag for the next executed Java task on this projection in the current thread so that task argument passed to Java and returned task results will not be deserialized. More...
|
|
TRes | ExecuteJavaTask< TRes > (string taskName, object taskArg) |
| Executes given Java task on the grid projection. If task for given name has not been deployed yet, then 'taskName' will be used as task class name to auto-deploy the task. More...
|
|
Task< TRes > | ExecuteJavaTaskAsync< TRes > (string taskName, object taskArg) |
| Executes given Java task on the grid projection. If task for given name has not been deployed yet, then 'taskName' will be used as task class name to auto-deploy the task. More...
|
|
Task< TRes > | ExecuteJavaTaskAsync< TRes > (string taskName, object taskArg, CancellationToken cancellationToken) |
| Executes given Java task on the grid projection. If task for given name has not been deployed yet, then 'taskName' will be used as task class name to auto-deploy the task. More...
|
|
TRes | Execute< TArg, TJobRes, TRes > (IComputeTask< TArg, TJobRes, TRes > task, TArg taskArg) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TArg, TJobRes, TRes > (IComputeTask< TArg, TJobRes, TRes > task, TArg taskArg) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TArg, TJobRes, TRes > (IComputeTask< TArg, TJobRes, TRes > task, TArg taskArg, CancellationToken cancellationToken) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
TRes | Execute< TJobRes, TRes > (IComputeTask< TJobRes, TRes > task) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TJobRes, TRes > (IComputeTask< TJobRes, TRes > task) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TJobRes, TRes > (IComputeTask< TJobRes, TRes > task, CancellationToken cancellationToken) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
TRes | Execute< TArg, TJobRes, TRes > (Type taskType, TArg taskArg) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TArg, TJobRes, TRes > (Type taskType, TArg taskArg) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TArg, TJobRes, TRes > (Type taskType, TArg taskArg, CancellationToken cancellationToken) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
TRes | Execute< TJobRes, TRes > (Type taskType) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TJobRes, TRes > (Type taskType) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
Task< TRes > | ExecuteAsync< TJobRes, TRes > (Type taskType, CancellationToken cancellationToken) |
| Executes given task on the grid projection. For step-by-step explanation of task execution process refer to IComputeTask<A,T,R> documentation. More...
|
|
TRes | Call< TRes > (IComputeFunc< TRes > clo) |
| Executes provided job on a node in this grid projection. The result of the job execution is returned from the result closure. More...
|
|
Task< TRes > | CallAsync< TRes > (IComputeFunc< TRes > clo) |
| Executes provided job on a node in this grid projection. The result of the job execution is returned from the result closure. More...
|
|
Task< TRes > | CallAsync< TRes > (IComputeFunc< TRes > clo, CancellationToken cancellationToken) |
| Executes provided job on a node in this grid projection. The result of the job execution is returned from the result closure. More...
|
|
TRes | AffinityCall< TRes > (string cacheName, object affinityKey, IComputeFunc< TRes > clo) |
| Executes given job on the node where data for provided affinity key is located (a.k.a. affinity co-location). More...
|
|
Task< TRes > | AffinityCallAsync< TRes > (string cacheName, object affinityKey, IComputeFunc< TRes > clo) |
| Executes given job on the node where data for provided affinity key is located (a.k.a. affinity co-location). More...
|
|
Task< TRes > | AffinityCallAsync< TRes > (string cacheName, object affinityKey, IComputeFunc< TRes > clo, CancellationToken cancellationToken) |
| Executes given job on the node where data for provided affinity key is located (a.k.a. affinity co-location). More...
|
|
TRes | Call< TFuncRes, TRes > (IEnumerable< IComputeFunc< TFuncRes >> clos, IComputeReducer< TFuncRes, TRes > reducer) |
| Executes collection of jobs on nodes within this grid projection. More...
|
|
Task< TRes > | CallAsync< TFuncRes, TRes > (IEnumerable< IComputeFunc< TFuncRes >> clos, IComputeReducer< TFuncRes, TRes > reducer) |
| Executes collection of jobs on nodes within this grid projection. More...
|
|
Task< TRes > | CallAsync< TFuncRes, TRes > (IEnumerable< IComputeFunc< TFuncRes >> clos, IComputeReducer< TFuncRes, TRes > reducer, CancellationToken cancellationToken) |
| Executes collection of jobs on nodes within this grid projection. More...
|
|
ICollection< TRes > | Call< TRes > (IEnumerable< IComputeFunc< TRes >> clos) |
| Executes collection of jobs on nodes within this grid projection. More...
|
|
Task< ICollection< TRes > > | CallAsync< TRes > (IEnumerable< IComputeFunc< TRes >> clos) |
| Executes collection of jobs on nodes within this grid projection. More...
|
|
Task< ICollection< TRes > > | CallAsync< TRes > (IEnumerable< IComputeFunc< TRes >> clos, CancellationToken cancellationToken) |
| Executes collection of jobs on nodes within this grid projection. More...
|
|
ICollection< TRes > | Broadcast< TRes > (IComputeFunc< TRes > clo) |
| Broadcasts given job to all nodes in grid projection. Every participating node will return a job result. More...
|
|
Task< ICollection< TRes > > | BroadcastAsync< TRes > (IComputeFunc< TRes > clo) |
| Broadcasts given job to all nodes in grid projection. Every participating node will return a job result. More...
|
|
Task< ICollection< TRes > > | BroadcastAsync< TRes > (IComputeFunc< TRes > clo, CancellationToken cancellationToken) |
| Broadcasts given job to all nodes in grid projection. Every participating node will return a job result. More...
|
|
ICollection< TRes > | Broadcast< TArg, TRes > (IComputeFunc< TArg, TRes > clo, TArg arg) |
| Broadcasts given closure job with passed in argument to all nodes in grid projection. Every participating node will return a job result. More...
|
|
Task< ICollection< TRes > > | BroadcastAsync< TArg, TRes > (IComputeFunc< TArg, TRes > clo, TArg arg) |
| Broadcasts given closure job with passed in argument to all nodes in grid projection. Every participating node will return a job result. More...
|
|
Task< ICollection< TRes > > | BroadcastAsync< TArg, TRes > (IComputeFunc< TArg, TRes > clo, TArg arg, CancellationToken cancellationToken) |
| Broadcasts given closure job with passed in argument to all nodes in grid projection. Every participating node will return a job result. More...
|
|
void | Broadcast (IComputeAction action) |
| Broadcasts given job to all nodes in grid projection. More...
|
|
Task | BroadcastAsync (IComputeAction action) |
| Broadcasts given job to all nodes in grid projection. More...
|
|
Task | BroadcastAsync (IComputeAction action, CancellationToken cancellationToken) |
| Broadcasts given job to all nodes in grid projection. More...
|
|
void | Run (IComputeAction action) |
| Executes provided job on a node in this grid projection. More...
|
|
Task | RunAsync (IComputeAction action) |
| Executes provided job on a node in this grid projection. More...
|
|
Task | RunAsync (IComputeAction action, CancellationToken cancellationToken) |
| Executes provided job on a node in this grid projection. More...
|
|
void | AffinityRun (string cacheName, object affinityKey, IComputeAction action) |
| Executes given job on the node where data for provided affinity key is located (a.k.a. affinity co-location). More...
|
|
Task | AffinityRunAsync (string cacheName, object affinityKey, IComputeAction action) |
| Executes given job on the node where data for provided affinity key is located (a.k.a. affinity co-location). More...
|
|
Task | AffinityRunAsync (string cacheName, object affinityKey, IComputeAction action, CancellationToken cancellationToken) |
| Executes given job on the node where data for provided affinity key is located (a.k.a. affinity co-location). More...
|
|
void | Run (IEnumerable< IComputeAction > actions) |
| Executes collection of jobs on Ignite nodes within this grid projection. More...
|
|
Task | RunAsync (IEnumerable< IComputeAction > actions) |
| Executes collection of jobs on Ignite nodes within this grid projection. More...
|
|
Task | RunAsync (IEnumerable< IComputeAction > actions, CancellationToken cancellationToken) |
| Executes collection of jobs on Ignite nodes within this grid projection. More...
|
|
TRes | Apply< TArg, TRes > (IComputeFunc< TArg, TRes > clo, TArg arg) |
| Executes provided closure job on a node in this grid projection. More...
|
|
Task< TRes > | ApplyAsync< TArg, TRes > (IComputeFunc< TArg, TRes > clo, TArg arg) |
| Executes provided closure job on a node in this grid projection. More...
|
|
Task< TRes > | ApplyAsync< TArg, TRes > (IComputeFunc< TArg, TRes > clo, TArg arg, CancellationToken cancellationToken) |
| Executes provided closure job on a node in this grid projection. More...
|
|
ICollection< TRes > | Apply< TArg, TRes > (IComputeFunc< TArg, TRes > clo, IEnumerable< TArg > args) |
| Executes provided closure job on nodes within this grid projection. A new job is executed for every argument in the passed in collection. The number of actual job executions will be equal to size of the job arguments collection. More...
|
|
Task< ICollection< TRes > > | ApplyAsync< TArg, TRes > (IComputeFunc< TArg, TRes > clo, IEnumerable< TArg > args) |
| Executes provided closure job on nodes within this grid projection. A new job is executed for every argument in the passed in collection. The number of actual job executions will be equal to size of the job arguments collection. More...
|
|
Task< ICollection< TRes > > | ApplyAsync< TArg, TRes > (IComputeFunc< TArg, TRes > clo, IEnumerable< TArg > args, CancellationToken cancellationToken) |
| Executes provided closure job on nodes within this grid projection. A new job is executed for every argument in the passed in collection. The number of actual job executions will be equal to size of the job arguments collection. More...
|
|
TRes | Apply< TArg, TFuncRes, TRes > (IComputeFunc< TArg, TFuncRes > clo, IEnumerable< TArg > args, IComputeReducer< TFuncRes, TRes > rdc) |
| Executes provided closure job on nodes within this grid projection. A new job is executed for every argument in the passed in collection. The number of actual job executions will be equal to size of the job arguments collection. The returned job results will be reduced into an individual result by provided reducer. More...
|
|
Task< TRes > | ApplyAsync< TArg, TFuncRes, TRes > (IComputeFunc< TArg, TFuncRes > clo, IEnumerable< TArg > args, IComputeReducer< TFuncRes, TRes > rdc) |
| Executes provided closure job on nodes within this grid projection. A new job is executed for every argument in the passed in collection. The number of actual job executions will be equal to size of the job arguments collection. The returned job results will be reduced into an individual result by provided reducer. More...
|
|
Task< TRes > | ApplyAsync< TArg, TFuncRes, TRes > (IComputeFunc< TArg, TFuncRes > clo, IEnumerable< TArg > args, IComputeReducer< TFuncRes, TRes > rdc, CancellationToken cancellationToken) |
| Executes provided closure job on nodes within this grid projection. A new job is executed for every argument in the passed in collection. The number of actual job executions will be equal to size of the job arguments collection. The returned job results will be reduced into an individual result by provided reducer. More...
|
|
Note that if attempt is made to execute a computation over an empty projection (i.e. projection that does not have any alive nodes), ClusterGroupEmptyException
will be thrown out of result task.
Ignite must select a node for a computation to be executed. The node will be selected based on the underlying GridLoadBalancingSpi
, which by default sequentially picks next available node from grid projection. Other load balancing policies, such as random
or adaptive
, can be configured as well by selecting different load balancing SPI in Ignite configuration. If your logic requires some custom load balancing behavior, consider implementing ComputeTask
in Java directly.
Ignite guarantees that as long as there is at least one Ignite node standing, every job will be executed. Jobs will automatically failover to another node if a remote node crashed or has rejected execution due to lack of resources. By default, in case of failover, next load balanced node will be picked for job execution. Also jobs will never be re-routed to the nodes they have failed on. This behavior can be changed by configuring any of the existing or a custom FailoverSpi
in Ignite configuration.
All members are thread-safe and may be used concurrently from multiple threads.