blob: c5b0e249af4849fdf035cd3ad0f44288ae0cb05d [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.4.0/dotnetdoc/api/Apache.Ignite.Core.Compute.IComputeJob-1.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Interface IComputeJob&lt;TRes&gt;
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Interface IComputeJob&lt;TRes&gt;
| Apache Ignite.NET ">
<meta name="generator" content="docfx 2.24.0.0">
<link rel="shortcut icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<meta property="docfx:navrel" content="../toc.html">
<meta property="docfx:tocrel" content="toc.html">
<meta property="docfx:rel" content="../">
<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 data-spy="scroll" data-target="#affix">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div class="container body-content">
<div id="search-results">
<div class="search-list"></div>
<div class="sr-items"></div>
<ul id="pagination"></ul>
</div>
</div>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Compute.IComputeJob`1">
<h1 id="Apache_Ignite_Core_Compute_IComputeJob_1" data-uid="Apache.Ignite.Core.Compute.IComputeJob`1" class="text-break">Interface IComputeJob&lt;TRes&gt;
</h1>
<div class="markdown level0 summary"><p>Defines executable unit for <a class="xref" href="Apache.Ignite.Core.Compute.IComputeTask-3.html">IComputeTask&lt;TArg, TJobRes, TRes&gt;</a>. Ignite task gets split into jobs
when <a class="xref" href="Apache.Ignite.Core.Compute.IComputeTask-3.html#Apache_Ignite_Core_Compute_IComputeTask_3_Map_System_Collections_Generic_IList_Apache_Ignite_Core_Cluster_IClusterNode___0_">Map(IList&lt;IClusterNode&gt;, TArg)</a> method is called. This
method returns all jobs for the task mapped to their corresponding Ignite nodes for execution.
Grid will then serialize this jobs and send them to requested nodes for execution.
<p>
Once job execution is complete, the return value will be sent back to parent task and will
be passed into
<a class="xref" href="Apache.Ignite.Core.Compute.IComputeTask-3.html#Apache_Ignite_Core_Compute_IComputeTask_3_OnResult_Apache_Ignite_Core_Compute_IComputeJobResult__1__System_Collections_Generic_IList_Apache_Ignite_Core_Compute_IComputeJobResult__1___">OnResult(IComputeJobResult&lt;TJobRes&gt;, IList&lt;IComputeJobResult&lt;TJobRes&gt;&gt;)</a>
method via <a class="xref" href="Apache.Ignite.Core.Compute.IComputeJobResult-1.html">IComputeJobResult&lt;TRes&gt;</a> instance.
<p>
Ignite job implementation can be injected with <a class="xref" href="Apache.Ignite.Core.IIgnite.html">IIgnite</a> using
<a class="xref" href="Apache.Ignite.Core.Resource.InstanceResourceAttribute.html">InstanceResourceAttribute</a> attribute.</p>
</div>
<div class="markdown level0 conceptual"></div>
<h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Compute.html">Apache.Ignite.Core.Compute</a></h6>
<h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
<h5 id="Apache_Ignite_Core_Compute_IComputeJob_1_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public interface IComputeJob&lt;out TRes&gt;</code></pre>
</div>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">TRes</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<a id="Apache_Ignite_Core_Compute_IComputeJob_1_Cancel_" data-uid="Apache.Ignite.Core.Compute.IComputeJob`1.Cancel*"></a>
<h4 id="Apache_Ignite_Core_Compute_IComputeJob_1_Cancel" data-uid="Apache.Ignite.Core.Compute.IComputeJob`1.Cancel">Cancel()</h4>
<div class="markdown level1 summary"><p>This method is called when system detects that completion of this
job can no longer alter the overall outcome (for example, when parent task
has already reduced the results).
<p>
Note that job cancellation is only a hint, and it is really up to the actual job
instance to gracefully finish execution and exit.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">void Cancel()</code></pre>
</div>
<a id="Apache_Ignite_Core_Compute_IComputeJob_1_Execute_" data-uid="Apache.Ignite.Core.Compute.IComputeJob`1.Execute*"></a>
<h4 id="Apache_Ignite_Core_Compute_IComputeJob_1_Execute" data-uid="Apache.Ignite.Core.Compute.IComputeJob`1.Execute">Execute()</h4>
<div class="markdown level1 summary"><p>Executes this job.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">TRes Execute()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">TRes</span></td>
<td><p>Job execution result (possibly <code>null</code>). This result will be returned
in <a class="xref" href="Apache.Ignite.Core.Compute.IComputeJobResult-1.html">IComputeJobResult&lt;TRes&gt;</a> object passed into
<a class="xref" href="Apache.Ignite.Core.Compute.IComputeTask-3.html#Apache_Ignite_Core_Compute_IComputeTask_3_OnResult_Apache_Ignite_Core_Compute_IComputeJobResult__1__System_Collections_Generic_IList_Apache_Ignite_Core_Compute_IComputeJobResult__1___">OnResult(IComputeJobResult&lt;TJobRes&gt;, IList&lt;IComputeJobResult&lt;TJobRes&gt;&gt;)</a>
on caller node.</p>
</td>
</tr>
</tbody>
</table>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
© 2015 - 2018 The Apache Software Foundation
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>