<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/scheduler/SchedulerFuture.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (1.8.0_241) on Thu Oct 15 12:23:31 MSK 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SchedulerFuture (Ignite 2.9.0)</title>
<meta name="date" content="2020-10-15">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>

<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SchedulerFuture (Ignite 2.9.0)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SchedulerFuture.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/scheduler/SchedulerFuture.html" target="_top">Frames</a></li>
<li><a href="SchedulerFuture.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.scheduler</div>
<h2 title="Interface SchedulerFuture" class="title">Interface SchedulerFuture<span class='angle_bracket'>&lt;</span>R<span class='angle_bracket'>&gt;</span></h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>R<span class='angle_bracket'>&gt;</span></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">SchedulerFuture<span class='angle_bracket'>&lt;</span>R<span class='angle_bracket'>&gt;</span></span>
extends <a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>R<span class='angle_bracket'>&gt;</span></pre>
<div class="block">Future for cron-based scheduled execution. This future is returned
 when calling <a href="../../../../org/apache/ignite/IgniteScheduler.html#scheduleLocal-java.util.concurrent.Callable-java.lang.String-"><code>IgniteScheduler.scheduleLocal(Callable, String)</code></a> or
 <a href="../../../../org/apache/ignite/IgniteScheduler.html#scheduleLocal-java.lang.Runnable-java.lang.String-"><code>IgniteScheduler.scheduleLocal(Runnable, String)</code></a> methods.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#averageExecutionTime--">averageExecutionTime</a></span>()</code>
<div class="block">Gets average execution time in milliseconds since future was created.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#averageIdleTime--">averageIdleTime</a></span>()</code>
<div class="block">Gets average idle time for this scheduled task.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#count--">count</a></span>()</code>
<div class="block">Gets total count of executions this task has already completed.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#createTime--">createTime</a></span>()</code>
<div class="block">Gets time in milliseconds at which this future was created.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#get--">get</a></span>()</code>
<div class="block">Waits for the completion of the next scheduled execution and returns its result.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#get-long-java.util.concurrent.TimeUnit-">get</a></span>(long&nbsp;timeout,
   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
<div class="block">Waits for the completion of the next scheduled execution for
 specified amount of time and returns its result.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#id--">id</a></span>()</code>
<div class="block">Gets scheduled task ID.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#isRunning--">isRunning</a></span>()</code>
<div class="block">Returns <code>true</code> if scheduled task is currently running.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#last--">last</a></span>()</code>
<div class="block">Gets result of the last execution of scheduled task, or
 <code>null</code> if task has not been executed, or has not
 produced a result yet.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#lastFinishTime--">lastFinishTime</a></span>()</code>
<div class="block">Gets finish time of last execution (<code>0</code> if first execution has not finished).</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#lastIdleTime--">lastIdleTime</a></span>()</code>
<div class="block">Gets last interval between scheduled executions.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#lastStartTime--">lastStartTime</a></span>()</code>
<div class="block">Gets start time of last execution (<code>0</code> if never started).</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#nextExecutionTime--">nextExecutionTime</a></span>()</code>
<div class="block">Gets next execution time of scheduled task.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#nextExecutionTimes-int-long-">nextExecutionTimes</a></span>(int&nbsp;cnt,
                  long&nbsp;start)</code>
<div class="block">Gets an array of the next execution times after passed <code>start</code> timestamp.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html#pattern--">pattern</a></span>()</code>
<div class="block">Gets scheduling pattern.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.lang.IgniteFuture">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.lang.<a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a></h3>
<code><a href="../../../../org/apache/ignite/lang/IgniteFuture.html#cancel--">cancel</a>, <a href="../../../../org/apache/ignite/lang/IgniteFuture.html#chain-org.apache.ignite.lang.IgniteClosure-">chain</a>, <a href="../../../../org/apache/ignite/lang/IgniteFuture.html#chainAsync-org.apache.ignite.lang.IgniteClosure-java.util.concurrent.Executor-">chainAsync</a>, <a href="../../../../org/apache/ignite/lang/IgniteFuture.html#get-long-">get</a>, <a href="../../../../org/apache/ignite/lang/IgniteFuture.html#isCancelled--">isCancelled</a>, <a href="../../../../org/apache/ignite/lang/IgniteFuture.html#isDone--">isDone</a>, <a href="../../../../org/apache/ignite/lang/IgniteFuture.html#listen-org.apache.ignite.lang.IgniteInClosure-">listen</a>, <a href="../../../../org/apache/ignite/lang/IgniteFuture.html#listenAsync-org.apache.ignite.lang.IgniteInClosure-java.util.concurrent.Executor-">listenAsync</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="id--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>id</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id()</pre>
<div class="block">Gets scheduled task ID.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ID of scheduled task.</dd>
</dl>
</li>
</ul>
<a name="pattern--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pattern</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern()</pre>
<div class="block">Gets scheduling pattern.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Scheduling pattern.</dd>
</dl>
</li>
</ul>
<a name="createTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTime</h4>
<pre>long&nbsp;createTime()</pre>
<div class="block">Gets time in milliseconds at which this future was created.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Time in milliseconds at which this future was created.</dd>
</dl>
</li>
</ul>
<a name="lastStartTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastStartTime</h4>
<pre>long&nbsp;lastStartTime()</pre>
<div class="block">Gets start time of last execution (<code>0</code> if never started).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Start time of last execution.</dd>
</dl>
</li>
</ul>
<a name="lastFinishTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastFinishTime</h4>
<pre>long&nbsp;lastFinishTime()</pre>
<div class="block">Gets finish time of last execution (<code>0</code> if first execution has not finished).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Finish time of last execution (<code>0</code> if first execution has not finished).</dd>
</dl>
</li>
</ul>
<a name="averageExecutionTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>averageExecutionTime</h4>
<pre>double&nbsp;averageExecutionTime()</pre>
<div class="block">Gets average execution time in milliseconds since future was created.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Average execution time in milliseconds since future was created.</dd>
</dl>
</li>
</ul>
<a name="lastIdleTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastIdleTime</h4>
<pre>long&nbsp;lastIdleTime()</pre>
<div class="block">Gets last interval between scheduled executions. If first execution has
 not yet happened, then returns time passed since creation of this future.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Last interval between scheduled executions.</dd>
</dl>
</li>
</ul>
<a name="averageIdleTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>averageIdleTime</h4>
<pre>double&nbsp;averageIdleTime()</pre>
<div class="block">Gets average idle time for this scheduled task.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Average idle time for this scheduled task.</dd>
</dl>
</li>
</ul>
<a name="nextExecutionTimes-int-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextExecutionTimes</h4>
<pre>long[]&nbsp;nextExecutionTimes(int&nbsp;cnt,
                          long&nbsp;start)
                   throws <a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Gets an array of the next execution times after passed <code>start</code> timestamp.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cnt</code> - Array length.</dd>
<dd><code>start</code> - Start timestamp.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Array of the next execution times in milliseconds or an empty array if there is no next execution time
         scheduled.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - Thrown in case of any errors.</dd>
</dl>
</li>
</ul>
<a name="count--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>count</h4>
<pre>int&nbsp;count()</pre>
<div class="block">Gets total count of executions this task has already completed.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Total count of executions this task has already completed.</dd>
</dl>
</li>
</ul>
<a name="isRunning--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>boolean&nbsp;isRunning()</pre>
<div class="block">Returns <code>true</code> if scheduled task is currently running.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if scheduled task is currently running.</dd>
</dl>
</li>
</ul>
<a name="nextExecutionTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextExecutionTime</h4>
<pre>long&nbsp;nextExecutionTime()
                throws <a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Gets next execution time of scheduled task.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Next execution time in milliseconds or <code>0</code> if there is no next execution time.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - Thrown in case of any errors.</dd>
</dl>
</li>
</ul>
<a name="last--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>last</h4>
<pre><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a>&nbsp;last()
throws <a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Gets result of the last execution of scheduled task, or
 <code>null</code> if task has not been executed, or has not
 produced a result yet.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Result of the last execution, or <code>null</code> if
      there isn't one yet.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If last execution resulted in exception.</dd>
</dl>
</li>
</ul>
<a name="get--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a>&nbsp;get()</pre>
<div class="block">Waits for the completion of the next scheduled execution and returns its result.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/lang/IgniteFuture.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Result of the next execution.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CancellationException.html?is-external=true" title="class or interface in java.util.concurrent">CancellationException</a></code></dd>
<dd><code><a href="../../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - Subclass of <a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite"><code>IgniteException</code></a> thrown if the wait was interrupted.</dd>
<dd><code><a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If computation failed.</dd>
</dl>
</li>
</ul>
<a name="get-long-java.util.concurrent.TimeUnit-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>get</h4>
<pre><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a>&nbsp;get(long&nbsp;timeout,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
<div class="block">Waits for the completion of the next scheduled execution for
 specified amount of time and returns its result.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/lang/IgniteFuture.html#get-long-java.util.concurrent.TimeUnit-">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="../../../../org/apache/ignite/scheduler/SchedulerFuture.html" title="type parameter in SchedulerFuture">R</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - The maximum time to wait.</dd>
<dd><code>unit</code> - The time unit of the <code>timeout</code> argument.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The computed result of the next execution.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CancellationException.html?is-external=true" title="class or interface in java.util.concurrent">CancellationException</a></code></dd>
<dd><code><a href="../../../../org/apache/ignite/IgniteInterruptedException.html" title="class in org.apache.ignite">IgniteInterruptedException</a></code> - Subclass of <a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite"><code>IgniteException</code></a> thrown if the wait was interrupted.</dd>
<dd><code><a href="../../../../org/apache/ignite/lang/IgniteFutureTimeoutException.html" title="class in org.apache.ignite.lang">IgniteFutureTimeoutException</a></code> - Subclass of <a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite"><code>IgniteException</code></a> thrown if the wait was timed out.</dd>
<dd><code><a href="../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If computation failed.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SchedulerFuture.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/scheduler/SchedulerFuture.html" target="_top">Frames</a></li>
<li><a href="SchedulerFuture.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">                                     <tr>                                         <td>                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <a target=_blank href="https://ignite.apache.org"><nobr>2020 Copyright &#169; Apache Software Foundation</nobr></a>                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                         <td width="100%" align="right" valign="center">                                             <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>                                         </td>                                     </tr>                                     <tr>                                         <td colspan="2" valign="top" align="left">                                             <table style="padding-left: 0; margin: 0">                                                 <tbody style="padding: 0; margin: 0">                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Ignite Database and Caching Platform</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>2.9.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             October 15 2020                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
