Mikhail Pochatkin created IGNITE-20844:
------------------------------------------

             Summary: Introduce JobExecution interface
                 Key: IGNITE-20844
                 URL: https://issues.apache.org/jira/browse/IGNITE-20844
             Project: Ignite
          Issue Type: Improvement
          Components: compute
            Reporter: Mikhail Pochatkin


Currently *org.apache.ignite.compute.IgniteCompute* have follow API
{code:java}
<R> CompletableFuture<R> executeAsync(...); {code}
In this task we need to inroduce JobExecution interface 
{code:java}
public interface JobExecution<T> {    
    CompletableStage<T> resultAsync();
    
    CompletableStage<JobStatus> statusAsync();
    
    default CompletableStage<UUID> idAsync() {    
        return status().thenApply(status -> status.id());   
    }

    CompletableStage<Boolean> cancelAsync();

    CompletableStage<Boolean> changePriority(long newPriority);
} {code}
 and modify public API 
{code:java}
 <R> JobExecution<R> executeAsync(...); {code}
+*Important note*+

Implementation of JobExecution interface on clients-side can be done in 
follow-up tickets. But changes made in this ticket should be backward 
compatibility. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to