[ https://issues.apache.org/jira/browse/IGNITE-16613?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Chugunov updated IGNITE-16613: ------------------------------------- Fix Version/s: 3.0.0-alpha5 > [Compute Grid] IgniteCompute facade and ComputeJob interface > ------------------------------------------------------------ > > Key: IGNITE-16613 > URL: https://issues.apache.org/jira/browse/IGNITE-16613 > Project: Ignite > Issue Type: Task > Components: compute > Reporter: Sergey Chugunov > Priority: Major > Labels: ignite-3 > Fix For: 3.0.0-alpha5 > > > On first phase we want to define a facade in ignite-api module with support > only simple remote job execution. > API of the facade: > {code:java} > public interface IgniteCompute { > // Executes a job represented by the given class on one node from the nodes > set. > <R> CompletableFuture<R> execute(Set<ClusterNode> nodes, Class<? Extends > ComputeJob<R>> cls, Object … args); > // Executes a job represented by the given class on one node where the > given key is located. > <R> CompletableFuture<R> executeColocated(String table, K key, Class<? > extends ComputeJob<R>> cls, Object … args); > } > {code} > It supports the simplest operations only and leaves aside more sophisticated > scenarios like broadcast or operations requiring code deployment. > ComputeJob interface looks like this: > {code} > public interface ComputeJob<R> { > R execute(JobExecutionContext ctx, Object … args); > } > {code} > JobExecutionContext here is needed for passing Ignite instance of the local > node where the job is started but can be extended with more session > parameters. -- This message was sent by Atlassian Jira (v8.20.1#820001)