blob: 16866b9971de3d9905de033923f9a5bea393ab4a [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>SMILA/Documentation/TaskManager - Eclipsepedia</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<meta name="generator" content="MediaWiki 1.23.2" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/eclipse.org-common/themes/solstice/public/images/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (en)" />
<link rel="EditURI" type="application/rsd+xml" href="http://wiki.eclipse.org/api.php?action=rsd" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom feed" href="http://wiki.eclipse.org/index.php?title=Special:RecentChanges&amp;feed=atom" />
<link rel="stylesheet" href="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.ui.button&amp;only=styles&amp;skin=solstice&amp;*" />
<link rel="stylesheet" href="http://wiki.eclipse.org/skins/solstice/public/stylesheets/styles.min.css?303" media="screen, print" /><meta name="ResourceLoaderDynamicStyles" content="" />
<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}
/* cache key: my_wiki:resourceloader:filter:minify-css:7:14ece53a42aa314864e5fd8c57f0d98f */</style>
<script src="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=solstice&amp;*"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"SMILA/Documentation/TaskManager","wgTitle":"SMILA/Documentation/TaskManager","wgCurRevisionId":367592,"wgRevisionId":367592,"wgArticleId":32482,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"SMILA/Documentation/TaskManager","wgIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgWikiEditorEnabledModules":{"toolbar":false,"dialogs":false,"hidesig":true,"preview":false,"previewDialog":false,"publish":false},"wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}"});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"editfont":"default","editondblclick":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":1,"extendwatchlist":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nickname":"","norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"rcdays":7,"rclimit":50,"rows":25,"showhiddencats":0,"shownumberswatching":1,"showtoolbar":1,"skin":"solstice","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":1,"watchdefault":1,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,
"useeditwarning":1,"prefershttps":1,"language":"en","variant-gan":"gan","variant-iu":"iu","variant-kk":"kk","variant-ku":"ku","variant-shi":"shi","variant-sr":"sr","variant-tg":"tg","variant-uz":"uz","variant-zh":"zh","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"variant":"en"});},{},{});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});},{},{});
/* cache key: my_wiki:resourceloader:filter:minify-js:7:70d74423d3fc1e1c18fa9a1ff645a84a */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
}</script>
<style type="text/css">/*<![CDATA[*/
.source-javascript {line-height: normal;}
.source-javascript li, .source-javascript pre {
line-height: normal; border: 0px none white;
}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for javascript
* CSS class: source-javascript, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
* --------------------------------------
*/
.javascript.source-javascript .de1, .javascript.source-javascript .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.javascript.source-javascript {font-family:monospace;}
.javascript.source-javascript .imp {font-weight: bold; color: red;}
.javascript.source-javascript li, .javascript.source-javascript .li1 {font-weight: normal; vertical-align:top;}
.javascript.source-javascript .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.javascript.source-javascript .li2 {font-weight: bold; vertical-align:top;}
.javascript.source-javascript .kw1 {color: #000066; font-weight: bold;}
.javascript.source-javascript .kw2 {color: #003366; font-weight: bold;}
.javascript.source-javascript .kw3 {color: #000066;}
.javascript.source-javascript .kw5 {color: #FF0000;}
.javascript.source-javascript .co1 {color: #006600; font-style: italic;}
.javascript.source-javascript .co2 {color: #009966; font-style: italic;}
.javascript.source-javascript .coMULTI {color: #006600; font-style: italic;}
.javascript.source-javascript .es0 {color: #000099; font-weight: bold;}
.javascript.source-javascript .br0 {color: #009900;}
.javascript.source-javascript .sy0 {color: #339933;}
.javascript.source-javascript .st0 {color: #3366CC;}
.javascript.source-javascript .nu0 {color: #CC0000;}
.javascript.source-javascript .me1 {color: #660066;}
.javascript.source-javascript .ln-xtra, .javascript.source-javascript li.ln-xtra, .javascript.source-javascript div.ln-xtra {background-color: #ffc;}
.javascript.source-javascript span.xtra { display:block; }
/*]]>*/
</style><meta name="viewport" content="width=device-width, initial-scale=1.0"></head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-SMILA_Documentation_TaskManager skin-solstice action-view" id="solstice">
<a class="sr-only" href="TaskManager.html#content">Skip to main content</a>
<div class="thin-header">
<header role="banner" class="hidden-print noprint">
<div class="container-fluid">
<div id="row-logo-search">
<div id="header-left">
<div class="row">
<div class="hidden-xs col-sm-6 logo-container">
<a href="https://www.eclipse.org/" ><img class="logo-eclipse-default" src="http://wiki.eclipse.org/skins/solstice/public/images/logo/eclipse-800x188.png" alt="Eclipsepedia"></a>
</div>
<div class="navbar col-sm-18 yamm" id="main-menu">
<div class="navbar-collapse collapse" id="navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a target="_self" href="https://eclipse.org/downloads/">Download</a></li>
<li><a target="_self" href="https://eclipse.org/users/">Getting Started </a></li>
<li><a target="_self" href="https://eclipse.org/membership/">Members</a></li>
<li><a target="_self" href="https://eclipse.org/projects/">Projects</a></li>
<li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="TaskManager.html#">Community <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="https://eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li></ul></li><li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="TaskManager.html#">Participate <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="https://eclipse.org/forums/">Forums</a></li><li><a href="https://eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://eclipse.org/contribute/">How to Contribute</a></li></ul></li><li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="TaskManager.html#">Working Groups <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li><li><a href="http://iot.eclipse.org">Internet of Things</a></li><li><a href="http://locationtech.org">LocationTech</a></li><li><a href="http://lts.eclipse.org">Long-Term Support</a></li><li><a href="http://polarsys.org">PolarSys</a></li><li><a href="http://science.eclipse.org">Science</a></li><li><a href="http://openmdm.org">OpenMDM</a></li></ul></li><!-- More -->
<li class="dropdown hidden-xs"><a class="dropdown-toggle" data-toggle="dropdown">More<b class="caret"></b></a>
<ul class="dropdown-menu">
<li>
<!-- Content container to add padding -->
<div class="yamm-content">
<div class="row">
<ul class="col-sm-8 list-unstyled"><li><p><strong>Community</strong></p></li><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="https://eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Participate</strong></p></li><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="https://eclipse.org/forums/">Forums</a></li><li><a href="https://eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://eclipse.org/contribute/">How to Contribute</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Working Groups</strong></p></li><li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li><li><a href="http://iot.eclipse.org">Internet of Things</a></li><li><a href="http://locationtech.org">LocationTech</a></li><li><a href="http://lts.eclipse.org">Long-Term Support</a></li><li><a href="http://polarsys.org">PolarSys</a></li><li><a href="http://science.eclipse.org">Science</a></li><li><a href="http://openmdm.org">OpenMDM</a></li></ul> </div>
</div>
</li>
</ul>
</li>
</ul>
</div>
<div class="navbar-header">
<button data-target="#navbar-collapse-1" data-toggle="collapse" class="navbar-toggle" type="button">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="https://www.eclipse.org/" class="visible-xs navbar-brand"><img class="logo-eclipse-default" src="http://wiki.eclipse.org/skins/solstice/public/images/logo/eclipse-800x188.png" alt="Eclipsepedia" width="174"></a>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
<section class="defaut-breadcrumbs hidden-print noprint hidden-print clearfix" id="breadcrumb">
<div>
<ol class="breadcrumb">
<li><a href="https://www.eclipse.org/">Home</a></li>
<li><a href="http://wiki.eclipse.org/Main_Page">Eclipse Wiki</a></li>
<li class="active">SMILA/Documentation/TaskManager</li></ol>
</div>
</section>
</div>
<div class="toolbar-menu breadcrumbs-offset noprint hidden-print margin-bottom-0 clearfix">
<div class="col-md-24">
<ol class="breadcrumb" role="navigation">
<li id="pt-login">
<a href="http://wiki.eclipse.org/index.php?title=Special:UserLogin&amp;returnto=SMILA%2FDocumentation%2FTaskManager">
<i class="fa fa-sign-in fa-fw orange"></i> Log in </a>
</li>
</ul>
</div>
</div>
<main role="main" class="background-grey">
<div class="container-full padding-top-25">
<!-- content -->
<section id="content" class="mw-body container-full clearfix 0">
<div id="mw-js-message" style="display:none;"></div>
<!-- bodyContent -->
<div id="bodyContent">
<!-- jumpto -->
<div id="jump-to-nav" class="mw-jump">
Jump to: <a href="TaskManager.html#mw-head">navigation</a>,
<a href="TaskManager.html#p-search">search</a>
</div>
<!-- /jumpto -->
<!-- leftcol -->
<aside class="col-md-4 noprint hidden-print" id="leftcol">
<form class="input-group" role="form" id="form-eclipse-search" action="http://wiki.eclipse.org/index.php" id="searchform">
<input id="searchInput" class="search-query form-control" type="search" accesskey="f" title="Special:Search" placeholder="Search" name="search" value="">
<span class="input-group-btn">
<button value="search" id="mw-searchButton" type="submit" class="btn btn-default" title="Search the pages for this text" name="fulltext">
<i class="fa fa-search"></i>
</button>
</span>
</form>
<select class="form-control margin-top-10 margin-bottom-10 visible-xs visible-sm" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"><option class="fw-700 "><span class="fw-700">---Navigation---</span></option><option value="/Main_Page">Main Page</option><option value="/Eclipsepedia:Community_portal">Community portal</option><option value="/Eclipsepedia:Current_events">Current events</option><option value="/Special:RecentChanges">Recent changes</option><option value="/Special:Random">Random page</option><option value="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">Help</option></select><ul class="ul-left-nav fa-ul hidden-print leftnav hidden-xs hidden-sm"><li class="separator"><span class="separator">Navigation</span></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Main_Page" id="n-mainpage" title="Visit the main page [z]" accesskey="z">Main Page</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Eclipsepedia:Community_portal" id="n-portal" title="About the project, what you can do, where to find things">Community portal</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Eclipsepedia:Current_events" id="n-currentevents" title="Find background information on current events">Current events</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:RecentChanges" id="n-recentchanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:Random" id="n-randompage" title="Load a random page [x]" accesskey="x">Random page</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" id="n-help" title="The place to find out">Help</a></li></ul> <select class="form-control margin-top-10 margin-bottom-10 visible-xs visible-sm" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"><option class="fw-700 "><span class="fw-700">---Toolbox---</span></option><option value="/index.php?title=SMILA/Documentation/TaskManager&amp;action=info">Page information</option><option value="/index.php?title=SMILA/Documentation/TaskManager&amp;oldid=367592">Permanent link</option><option value="/index.php?title=SMILA/Documentation/TaskManager&amp;printable=yes">Printable version</option><option value="/Special:SpecialPages">Special pages</option><option value="/Special:RecentChangesLinked/SMILA/Documentation/TaskManager">Related changes</option><option value="/Special:WhatLinksHere/SMILA/Documentation/TaskManager">What links here</option></select><ul class="ul-left-nav fa-ul hidden-print leftnav hidden-xs hidden-sm"><li class="separator"><span class="separator">Toolbox</span></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;action=info" id="t-info">Page information</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;oldid=367592" id="t-permalink" title="Permanent link to this revision of the page">Permanent link</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;printable=yes" id="t-print" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:SpecialPages" id="t-specialpages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:RecentChangesLinked/SMILA/Documentation/TaskManager" id="t-recentchangeslinked" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:WhatLinksHere/SMILA/Documentation/TaskManager" id="t-whatlinkshere" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li></ul> </aside>
<!-- /leftcol -->
<!-- mainContent -->
<div id="mainContent" class="col-md-20">
<ul class="nav nav-tabs noprint hidden-print" role="tablist">
<li id="ca-nstab-main" class="active"><a href="TaskManager.html" title="View the content page [c]" accesskey="c" tabindex="-1">Page</a></li>
<li id="ca-talk" class="new"><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Documentation/TaskManager&amp;action=edit&amp;redlink=1" title="Discussion about the content page [t]" accesskey="t" tabindex="-1">Discussion</a></li>
<li id="ca-viewsource"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;action=edit" title="This page is protected.&#10;You can view its source [e]" accesskey="e" tabindex="-1">View source</a></li>
<li id="ca-history" class="collapsible"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;action=history" title="Past revisions of this page [h]" accesskey="h" tabindex="-1">History</a></li>
</ul> <div class="tab-content background-white">
<div id="tab-pane-main-page-content" class="tab-pane active">
<h1 id="firstHeading" class="firstHeading page-header">
<span dir="auto">SMILA/Documentation/TaskManager</span>
</h1>
<div id="main-page-content">
<!-- subtitle -->
<div id="contentSub" class="alert alert-small alert-warning"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a>&lrm; | <a href="../Documentation.1.html" title="SMILA/Documentation">Documentation</a></span></div>
<!-- /subtitle -->
<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="TaskManager.html#TaskManager"><span class="tocnumber">1</span> <span class="toctext">TaskManager</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="TaskManager.html#Fairness"><span class="tocnumber">1.1</span> <span class="toctext">Fairness</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="TaskManager.html#Configuration"><span class="tocnumber">1.2</span> <span class="toctext">Configuration</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="TaskManager.html#External_REST_API"><span class="tocnumber">1.3</span> <span class="toctext">External REST API</span></a>
<ul>
<li class="toclevel-3 tocsection-5"><a href="TaskManager.html#TaskManager_State_and_Configuration_Overview"><span class="tocnumber">1.3.1</span> <span class="toctext">TaskManager State and Configuration Overview</span></a></li>
<li class="toclevel-3 tocsection-6"><a href="TaskManager.html#TaskManager_Configuration_Update"><span class="tocnumber">1.3.2</span> <span class="toctext">TaskManager Configuration Update</span></a></li>
<li class="toclevel-3 tocsection-7"><a href="TaskManager.html#Worker_Overview"><span class="tocnumber">1.3.3</span> <span class="toctext">Worker Overview</span></a></li>
<li class="toclevel-3 tocsection-8"><a href="TaskManager.html#Task_Content"><span class="tocnumber">1.3.4</span> <span class="toctext">Task Content</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-9"><a href="TaskManager.html#Tasks"><span class="tocnumber">1.4</span> <span class="toctext">Tasks</span></a>
<ul>
<li class="toclevel-3 tocsection-10"><a href="TaskManager.html#JSON_format_of_task_.281.29"><span class="tocnumber">1.4.1</span> <span class="toctext">JSON format of task (1)</span></a></li>
<li class="toclevel-3 tocsection-11"><a href="TaskManager.html#JSON_format_of_qualifier_condition_.282.29"><span class="tocnumber">1.4.2</span> <span class="toctext">JSON format of qualifier condition (2)</span></a></li>
<li class="toclevel-3 tocsection-12"><a href="TaskManager.html#JSON_format_of_result_description_.283.29"><span class="tocnumber">1.4.3</span> <span class="toctext">JSON format of result description (3)</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-13"><a href="TaskManager.html#Internal_REST_API"><span class="tocnumber">1.5</span> <span class="toctext">Internal REST API</span></a>
<ul>
<li class="toclevel-3 tocsection-14"><a href="TaskManager.html#Get_task_information"><span class="tocnumber">1.5.1</span> <span class="toctext">Get task information</span></a></li>
<li class="toclevel-3 tocsection-15"><a href="TaskManager.html#Get_initial_task_information"><span class="tocnumber">1.5.2</span> <span class="toctext">Get initial task information</span></a></li>
<li class="toclevel-3 tocsection-16"><a href="TaskManager.html#Get_task_for_scaling_worker"><span class="tocnumber">1.5.3</span> <span class="toctext">Get task for scaling worker</span></a></li>
<li class="toclevel-3 tocsection-17"><a href="TaskManager.html#TaskManager_State_Overview"><span class="tocnumber">1.5.4</span> <span class="toctext">TaskManager State Overview</span></a></li>
<li class="toclevel-3 tocsection-18"><a href="TaskManager.html#Finish_or_keep_alive_task"><span class="tocnumber">1.5.5</span> <span class="toctext">Finish or keep alive task</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<h1><span class="mw-headline" id="TaskManager">TaskManager</span></h1>
<p>The TaskManager is a component for administrating and delivering <a href="../Glossary.html#T" title="SMILA/Glossary">tasks</a> during a <a href="../Glossary.html#J" title="SMILA/Glossary">job run</a>. Tasks are stored in internal queues. They are consumed by <a href="../Glossary.html#W" title="SMILA/Glossary">workers</a> pulling them for processing. They are produced as initial tasks or as follow-up tasks when workers finish their processing of their current task.
</p><p>The TaskManager guarantees that tasks are delivered at least once, but tasks may be delivered more than once (e.g. when IOErrors, process crashes or timeouts occur). A client must be able to handle a task multiple times. But redelivery of tasks is the exception to the rule, usually during task processing we do not expect errors to happen. There are some rare cases in which a task is successfully processed (i.e. output data and a possible follow up task are created successfully) but the task is redelivered nonetheless. This could happen, if:
</p>
<ul>
<li> the worker process crashes exactly after that step OR
</li>
<li> the TTL of the task times out exactly at the time when the worker is just finishing, in which case the the task is rolled back inside the TaskManager automatically.
</li>
</ul>
<h3><span class="mw-headline" id="Fairness">Fairness</span></h3>
<p>The TaskManager implements a fair delivery of (job-)tasks on a worker level. That means, if tasks of multiple jobs for the same worker are waiting to be processed ('todo'), the Task Manager will deliver these tasks alternately for each job using a “round robin” mechanism. The task age is not considered here, hence the tasks are distributed fairly among the jobs, even if the tasks of one job were produced earlier than the others.
</p><p>In a cluster environment the information needed for fairness is not shared among the cluster. Fairness is only implemented locally in the TaskManager on each node. (In practice this should have no negative impact.)
</p>
<h2><span class="mw-headline" id="Configuration">Configuration</span></h2>
<p>The TaskManager is configured via the <a href="Bundle_org.eclipse.smila.clusterconfig.simple.html" title="SMILA/Documentation/Bundle org.eclipse.smila.clusterconfig.simple">ClusterConfig service</a>. With the "simple" ClusterConfig service, it uses the properties in the "taskmanager" section of <code>clusterconfig.json</code>:
</p>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="javascript source-javascript"><pre class="de1"><span class="br0">&#123;</span>
...
<span class="st0">&quot;taskmanager&quot;</span><span class="sy0">:</span> <span class="br0">&#123;</span>
<span class="st0">&quot;maxScaleUp&quot;</span> <span class="sy0">:</span> <span class="nu0">16</span><span class="sy0">,</span>
<span class="st0">&quot;maxRetries&quot;</span><span class="sy0">:</span> <span class="nu0">10</span><span class="sy0">,</span>
<span class="st0">&quot;timeToLive&quot;</span><span class="sy0">:</span> <span class="nu0">300</span><span class="sy0">,</span>
<span class="st0">&quot;resumeJobs&quot;</span><span class="sy0">:</span> <span class="kw2">false</span>
<span class="br0">&#125;</span><span class="sy0">,</span>
...
<span class="br0">&#125;</span></pre></div></div>
<ul>
<li> maxScaleUp: Maximum number of scale-up tasks (tasks for worker that set the "workerHost" property in the Get-Task request, see below) allowed on a single node. Usually this covers tasks for workers that are not marked as "runAlways". If a worker tries to get a task when the limit is reached, the taskmanager will answer as if there was no task available currently. Meaning, if the maxScaleUp value of the taskmanager is less or equal to the sum of all the maxScaleUp values of the workers and pipelets no asynchronous work will be done. See <a href="WorkerManager.html#ScaleUp" title="SMILA/Documentation/WorkerManager">WorkerManager</a>, too.
</li>
<li> timeToLive: Time in seconds before an in-progress task is finished with a recoverable error result when it is not kept alive by the worker. Default is 300 seconds. Whether the task is repeated, committed or fails completely depends on the worker description and job manager configuration.
</li>
<li> maxRetries: Used by the JobManager to decide how often a task should be retried that has failed with an RECOVERABLE_ERROR, either because the "timeToLive" was exceeded or the worker itself reported such an error. If the retry limit is reached, the task will finally fail with a FATAL_ERROR. (Technically, this property is used by the <a href="JobManager.html" title="SMILA/Documentation/JobManager">Jobmanager</a>, not the TaskManager itself)
</li>
<li> resumeJobs: By default, all information about running jobs and current tasks is removed when the SMILA process is stopped or killed and restarted, no jobs are running then and no tasks are in todo or in progress. Setting the "resumeJobs" flag to true causes SMILA to resume all jobs and continue to process the tasks leftover from the previous process. See more details on resuming jobs below.
</li>
</ul>
<h2><span class="mw-headline" id="External_REST_API">External REST API</span></h2>
<p>The external ReST API provides a number of endpoints for use by the administrator to watch the state of the taskmanager. This includes getting numbers of tasks in the various task pipes and being able to look into the content of tasks.
</p>
<h3><span class="mw-headline" id="TaskManager_State_and_Configuration_Overview">TaskManager State and Configuration Overview</span></h3>
<p>Use a GET request to get information about taskmanager state.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get information about taskmanager task state.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/tasks</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>500 INTERNAL SERVER ERROR: If the taskmanager is not operational anymore because too many nodes are already dead.
</li>
</ul>
</li>
</ul>
<p>The result consists of three parts:
</p>
<ul>
<li>The failsafety setting is the maximum number of nodes that may fail before the taskmanager stops working. Nodes that are already down at this moment are not subtracted from the number.
</li>
<li>After that the workers sections with counters for tasks todo or in inprogress for each worker and links to get more details about one type of tasks in a single worker follows. To retrieve the number of tasks todo per single jobs, the URL has to contain ...?returnDetails=true; this information is not included if the parameter returnDetails is set to false or missing.
</li>
</ul>
<p>The workers section always includes a _finishingTasks worker. This is an internal worker that picks up real worker tasks that have been finished by the worker or the taskmanager (in case of missing keep-alives or canceled workflow run) and sends them to the JobManager for really finishing them (aggregating counters, computing follow-up tasks, etc.)
</p>
<ul>
<li>Finally there is an overview on the scale-up situation: first "maxScaleUp" describes the configured maximum number of tasks to be processed by scaling workers at the same time. A value of -1 means that there is no limit configured. Then "scaleUp" gives an array of maps each containing a host name (as in cluster.ini) and a counter describing the number of currently working scaling worker on this host. "runAlways" workers do not contribute to this counter, and a host on which no scaling worker has yet started to work will not occur in the list.
</li>
</ul>
<h3><span class="mw-headline" id="TaskManager_Configuration_Update">TaskManager Configuration Update</span></h3>
<p>Use a POST request to change taskmanager configuration settings on runtime. Currently, only the "maxScaleUp" setting is supported.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>POST: post new configuration
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/tasks</tt>.
</li>
<li>Allowed methods:
<ul>
<li>POST
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>500 INTERNAL SERVER ERROR: Update operation failed
</li>
</ul>
</li>
</ul>
<p>Sample Request:
</p><p>POST <tt>http://&lt;hostname&gt;:8080/smila/tasks</tt>
</p>
<pre>
{
&quot;maxScaleUp&quot;: 10
}
</pre>
<p><br />
</p>
<h3><span class="mw-headline" id="Worker_Overview">Worker Overview</span></h3>
<p>Use a GET request to get information about a specific worker.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get information.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/tasks/&lt;worker&gt;/&lt;type&gt;/</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET: shows the number of tasks and links to the first 100 tasks for a given worker and type. The &lt;type&gt; can currently be:
<ul>
<li> todo: tasks not yet fetched by any worker (or retried)
</li>
<li> inprogress: tasks currently worked on by a worker.
</li>
</ul>
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>404 NOT FOUND: bad URL path, e.g. bad worker or type
</li>
<li>500 INTERNAL SERVER ERROR: If the taskmanager not available or is not operational anymore because too many nodes are already dead.
</li>
</ul>
</li>
</ul>
<h3><span class="mw-headline" id="Task_Content">Task Content</span></h3>
<p>Shows the content of a task in JSON format.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get information about specific task.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/tasks/&lt;worker&gt;/&lt;type&gt;/&lt;taskname&gt;/</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET: Shows the content of a task in JSON format. Additionally the creation and modification timestamps are given. For todo tasks they should be identical, for inprogress tasks the modification timestamp is the timestamp of the last keepAlive request that was successfully executed. The &lt;taskname&gt; is not necessarily the task ID, but an internal name for the task as created by the /smila/tasks/&lt;worker&gt;/&lt;type&gt;/ handler. In addition to todo and inprogress, &lt;type&gt; can be todo_part in partitioned pipes. Tasks that are inprogress have an additional property inProgressBy that indicates which thread currently processes the task.
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>404 NOT FOUND: bad URL path, e.g. bad worker or type
</li>
<li>500 INTERNAL SERVER ERROR: If the taskmanager not available or is not operational anymore because too many nodes are already dead.
</li>
</ul>
</li>
</ul>
<h2><span class="mw-headline" id="Tasks">Tasks</span></h2>
<p>The rest of this page is only of interest for you if you want to create a worker without using the <a href="WorkerManager.html" title="SMILA/Documentation/WorkerManager">WorkerManager</a> framework and need to implement the interaction with the TaskManager on your own. This is the case if you need to create a worker that cannot run inside of SMILA for whatever reason, so you would need the HTTP API of the TaskManager to get, keep alive and finish tasks. First we describe the JSON representation of tasks and then the REST URLs for communication with the TaskManager.
</p>
<h3><span class="mw-headline" id="JSON_format_of_task_.281.29">JSON format of task (1)</span></h3>
<pre>
{
&quot;taskId&quot;: &quot;...&quot;,
&quot;workerName&quot;: &quot;...&quot;,
&lt;&quot;qualifier&quot;: &quot;...&quot;&gt;,
&quot;properties&quot;: {
&quot;name&quot;: &quot;value&quot;, ...
}
&quot;parameters&quot;: {
&quot;name&quot;: &quot;value&quot;, ...
}
&quot;input&quot;: {
&quot;slot1&quot;: [ { &quot;bucket&quot;: &quot;...&quot;, &quot;store&quot;: &quot;...&quot;, &quot;id&quot;: &quot;...&quot; } , ... ],
&quot;slot2&quot;: [ { &quot;bucket&quot;: &quot;...&quot;, &quot;store&quot;: &quot;...&quot;, &quot;id&quot;: &quot;...&quot; } , ... ],
...
}
&quot;output&quot;: {
&quot;slot1&quot;: [ { &quot;bucket&quot;: &quot;...&quot;, &quot;store&quot;: &quot;...&quot;, &quot;id&quot;: &quot;...&quot; } , ... ],
&quot;slot2&quot;: [ { &quot;bucket&quot;: &quot;...&quot;, &quot;store&quot;: &quot;...&quot;, &quot;id&quot;: &quot;...&quot; } , ... ],
...
}
}
</pre>
<p>A task consists of
</p>
<ul>
<li> task ID, workerName, qualifier: needed by the taskmanager to manage the task.
</li>
<li> properties: used by the jobmanager to associate the task to its job/workflow run. The taskmanager may also add properties.
<ul>
<li> "recoverable": if set to 'false' this task will not be retried after a timeout or after a recoverable worker error
</li>
<li> "workerHost": the host where the worker is running that requested the task (only set if worker sets host as request parameter
</li>
<li> "createdTime", "startTime", "taskAge": The time the task was created, retrieved by the worker and the difference in milliseconds. Apart from statistical purposes this can for example be used by a worker to decide that a task must be processed instead of being postponed because some age limit has been reached.
</li>
</ul>
</li>
<li> parameters: worker parameters as defined in workflow and job definition.
</li>
<li> input: Lists of bulk infos associated the worker's input slots describing which data has to be processed to complete this task. May be empty for "initial tasks" (e.g. BulkBuilder).
</li>
<li> output: Lists of bulk infos associated to the worker's output slots describing where to put the results of the task (currently it's always a single bulk info per slot). May be empty completely (e.g. for the HSSI record deleter worker).
</li>
</ul>
<p>The "bucket" name in the bulk info is usually irrelevant to the worker, it just needs to read the "store" and "id" to be able to find and create data objects.
</p>
<h3><span class="mw-headline" id="JSON_format_of_qualifier_condition_.282.29">JSON format of qualifier condition (2)</span></h3>
<pre>
{
&quot;qualifier&quot;: [ &quot;parts/abcd&quot;, &quot;parts/1234&quot;, ... ]
&lt;, &quot;workerHost&quot;: &quot;...&quot;&gt;
}
</pre>
<p>The qualifier is used in POST requests to <tt>/taskmanager/&lt;worker&gt;</tt> to get only tasks that have one of the given set as the "qualifier" field. This is used for example by the HSSI record delete worker to receive only tasks for certain partitions. The qualifier can be set in a task by adding the mode "qualifier" to the the input slot of a worker in which case the "id" value of the bulk in this slot is used as the qualifier. Note that the qualifier will be the complete object ID path, not only the UUID part. The workerHost must be set by scaling workers so that taskmanager can control the maximum number of tasks delivered to such workers.
</p>
<h3><span class="mw-headline" id="JSON_format_of_result_description_.283.29">JSON format of result description (3)</span></h3>
<pre>
{
&quot;status&quot;: &lt; &quot;SUCCESSFUL&quot;, &quot;FATAL_ERROR&quot;, &quot;RECOVERABLE_ERROR&quot;, &quot;POSTPONE&quot; &gt;,
&quot;errorCode&quot;: &quot;...&quot;,
&quot;errorMessage&quot;: &quot;...&quot;,
&quot;counters&quot;: {
&quot;name&quot;: numbervalue,
...
}
}
</pre>
<p>The result description is added to the "task finished" request so that the JobManager can decide on what to do next based on the result of the task. It consists of:
</p>
<ul>
<li> status: one of
<ul>
<li> SUCCESSFUL: the task has been processed completely and successfully. Follow-up tasks can be generated.
</li>
<li> FATAL_ERROR: the task cannot be processed and should not be repeated, e.g. input data is corrupt. This leads to cancelling the complete associated workflow run as failed, so no further tasks can be created in this workflow run. (The job run as a whole is continued, of course).
</li>
<li> RECOVERABLE_ERROR: the task could not be processed <b>now</b>, e.g. because input data was temporary not available. Usually the job manager will repeat this task until a configured retry limit is reached. However, special workers may specify that the task should not be repeated in this case but follow-up tasks should be created nethertheless.
</li>
<li> POSTPONE: the worker cannot yet perform this task for some reason (no error, just waiting for a condition in the system) but it should be processed later. The task will be readded to the todo queue for this worker and redelivered later (but very soon, usually). There is no limit to retrying a task after postponing it.
</li>
</ul>
</li>
<li> errorCode/errorMessage: will currently be logged only. Could be merged to the job run result data in later versions to give an overview about errors that happened during the run.
</li>
<li> counters: Integer or floating point numbers giving statistical information about the task processing. Not evaluated by task/job manager currently, but may be aggregated in the job run data in a later version.
</li>
</ul>
<h2><span class="mw-headline" id="Internal_REST_API">Internal REST API</span></h2>
<h3><span class="mw-headline" id="Get_task_information">Get task information</span></h3>
<p>Use a GET request to get information about a specific task. Use POST for getting information with qualifier condition.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get information about task.
</li>
<li>POST: get information about task with qualifier condition. Qualifier condition is provided with JSON body (2).
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/taskmanager/&lt;workername&gt;</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET
</li>
<li>POST
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK + JSON Body (1): Upon successful execution.
</li>
<li>204 NO CONTENT: No task available.
</li>
</ul>
</li>
</ul>
<h3><span class="mw-headline" id="Get_initial_task_information">Get initial task information</span></h3>
<p>Use a GET request to get initial task for given job.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get initial task for given job.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/taskmanager/&lt;workername&gt;/initialTask/&lt;jobname&gt;</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK + JSON Body (1): Upon successful execution.
</li>
<li>204 NO CONTENT: No task available.
</li>
</ul>
</li>
</ul>
<h3><span class="mw-headline" id="Get_task_for_scaling_worker">Get task for scaling worker</span></h3>
<p>Use a GET request to get task for scaling worker.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get task for scaling worker.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/taskmanager/&lt;workername&gt;?workerHost=&lt;hostname&gt;</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET== External REST API ==
</li>
</ul>
</li>
</ul>
<p>The external ReST API provides a number of endpoints for use by the administrator to watch the state of the taskmanager. This includes getting numbers of tasks in the various task pipes and being able to look into the content of tasks.
</p>
<h3><span class="mw-headline" id="TaskManager_State_Overview">TaskManager State Overview</span></h3>
<p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get information about taskmanager task state.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/tasks/&lt;worker&gt;/&lt;type&gt;/</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET: shows the number of tasks and links to the first 100 tasks for a given worker and type. The &lt;type&gt; can currently be:
</li>
<li> todo: tasks not yet fetched by any worker (or retried)
</li>
<li> inprogress: tasks currently worked on by a worker.
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>404 NOT FOUND: bad URL path, e.g. bad worker or type
</li>
<li>500 INTERNAL SERVER ERROR: If the taskmanager not available or is not operational anymore because too many nodes are already dead.
</li>
</ul>
</li>
</ul>
<p>Use a GET request to get information about taskmanager state.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: get information about taskmanager task state.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/tasks</tt>.
</li>
<li>Allowed methods:
<ul>
<li>GET
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>500 INTERNAL SERVER ERROR: If the taskmanager is not operational anymore because too many nodes are already dead.
</li>
</ul>
</li>
</ul>
<p>The taskmanager state consists of three parts:
</p>
<ul>
<li>The failsafety value is the maximum number of nodes that may fail before the taskmanager stops working. Nodes that are already down at this moment are not subtracted from the number.
</li>
<li>Follows the workers sections with counters for tasks todo or in inprogress for each worker and links to get more details about one type of tasks in a single worker. It always includes a _finishingTasks worker. This is an internal worker that picks up real worker tasks that have been finished by the worker or the taskmanager (in case of missing keep-alives or canceled workflow run) and sends them to the JobManager for really finishing them (aggregating counters, computing follow-up tasks, etc.)
</li>
<li>Finally there is an overview on the scale-up situation: first "maxScaleUp" describes the configured maximum number of tasks to be processed by scaling workers at the same time. A value of -1 means that there is no limit configured. Then "scaleUp" gives an array of maps each containing a host name (as in cluster.ini) and a counter describing the number of currently working scaling worker on this host. "runAlways" workers do not contribute to this counter, and a host on which no scaling worker has yet started to work will not occur in the list.
</li>
<li>Response status codes:
<ul>
<li>200 OK + JSON Body (1): Upon successful execution.
</li>
<li>204 NO CONTENT: No task available.
</li>
</ul>
</li>
</ul>
<h3><span class="mw-headline" id="Finish_or_keep_alive_task">Finish or keep alive task</span></h3>
<p>Use a POST request and JSON body (3) to finish a task or use POST and empty body to send a keep-alive signal for a task in progress.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>POST: with body finish task, without body send keep-alive
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/taskmanager/&lt;workername&gt;/&lt;taskId&gt;</tt>.
</li>
<li>Allowed methods:
<ul>
<li>POST
</li>
</ul>
</li>
</ul>
<ul>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution for finishing a task with result description.
</li>
<li>202 ACCEPTED: task is kept alive during progress.
</li>
</ul>
</li>
</ul>
<!--
NewPP limit report
CPU time usage: 0.080 seconds
Real time usage: 0.090 seconds
Preprocessor visited node count: 208/1000000
Preprocessor generated node count: 396/1000000
Post‐expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Highest expansion depth: 2/40
Expensive parser function count: 0/100
-->
<!-- Saved in parser cache with key my_wiki:pcache:idhash:32482-0!*!0!!en!*!* and timestamp 20150414084534 and revision id 367592
-->
</div>
<!-- catlinks -->
<div id='catlinks' class='catlinks catlinks-allhidden'></div> <!-- /catlinks -->
</div>
</div>
</div>
</div>
<!-- /maincontent -->
<!-- printfooter -->
<div class="printfooter">
Retrieved from "<a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;oldid=367592">http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;oldid=367592</a>" </div>
<!-- /printfooter -->
<!-- debughtml -->
<!-- /debughtml -->
</div>
<!-- /bodyContent -->
</section>
<!-- /content -->
<!-- footer -->
</div> <section id="footer-contribution-info" style="border-top:1px solid #ccc;" class="footer-offset background-white margin-top-25"><div class="container text-center padding-top-10 padding-bottom-10"><p id="footercredit">This page was last modified 03:56, 22 July 2014 by <a href="http://wiki.eclipse.org/User:Andreas.weber.empolis.com" title="User:Andreas.weber.empolis.com">Andreas Weber</a>. Based on work by <a href="http://wiki.eclipse.org/index.php?title=User:Peter.palmar.empolis.com&amp;action=edit&amp;redlink=1" class="new" title="User:Peter.palmar.empolis.com (page does not exist)">Peter Palmar</a>, <a href="http://wiki.eclipse.org/index.php?title=User:Dhaenssgen.brox.de&amp;action=edit&amp;redlink=1" class="new" title="User:Dhaenssgen.brox.de (page does not exist)">Daniel Hänßgen</a> and <a href="http://wiki.eclipse.org/index.php?title=User:Juergen.schumacher.attensity.com&amp;action=edit&amp;redlink=1" class="new" title="User:Juergen.schumacher.attensity.com (page does not exist)">Juergen Schumacher</a> and <a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/TaskManager&amp;action=credits" title="SMILA/Documentation/TaskManager">others</a>.</p><p id="footerviews">This page has been accessed 3,320 times.</p></div></section> </main> <!-- /#main-content-container-row -->
<p id="back-to-top" class="noprint hidden-print">
<a class="visible-xs" href="TaskManager.html#top">Back to the top</a>
</p>
<footer role="contentinfo" class="noprint hidden-print">
<div class="container">
<div class="row">
<section id="footer-eclipse-foundation" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Eclipse Foundation</h2>
<ul class="nav">
<li><a href="https://eclipse.org/org/">About us</a></li>
<li><a href="https://eclipse.org/org/foundation/contact.php">Contact Us</a></li>
<li><a href="https://eclipse.org/donate">Donate</a></li>
<li><a href="https://eclipse.org/org/documents/">Governance</a></li>
<li><a href="https://eclipse.org/artwork/">Logo and Artwork</a></li>
<li><a href="https://eclipse.org/org/foundation/directors.php">Board of Directors</a></li>
</ul>
</section>
<section id="footer-legal" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Legal</h2>
<ul class="nav">
<li><a href="https://eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="https://eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="https://eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="https://eclipse.org/org/documents/epl-v10.php">Eclipse Public License </a></li>
<li><a href="https://eclipse.org/legal/">Legal Resources </a></li>
</ul>
</section>
<section id="footer-useful-links" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Useful Links</h2>
<ul class="nav">
<li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
<li><a href="http://help.eclipse.org/">Documentation</a></li>
<li><a href="https://eclipse.org/contribute/">How to Contribute</a></li>
<li><a href="https://eclipse.org/mail/">Mailing Lists</a></li>
<li><a href="https://eclipse.org/forums/">Forums</a></li>
<li><a href="http://marketplace.eclipse.org/">Marketplace</a></li>
</ul>
</section>
<section id="footer-other" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Other</h2>
<ul class="nav">
<li><a href="https://eclipse.org/ide/">IDE and Tools</a></li>
<li><a href="https://eclipse.org/projects">Community of Projects</a></li>
<li><a href="https://eclipse.org/org/workinggroups/">Working Groups</a></li>
</ul>
<ul class="list-inline social-media">
<li><a href="https://twitter.com/EclipseFdn"><i class="fa fa-twitter-square"></i></a></li>
<li><a href="https://plus.google.com/+Eclipse"><i class="fa fa-google-plus-square"></i></a></li>
<li><a href="https://www.facebook.com/eclipse.org"><i class="fa fa-facebook-square"></i> </a></li>
<li><a href="https://www.youtube.com/user/EclipseFdn"><i class="fa fa-youtube-square"></i></a></li>
</ul>
</section>
<div id="copyright" class="col-xs-offset-1 col-sm-14 col-md-24 col-md-offset-0">
<div>
<span><img src="http://eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-logo-bw-800x188.png" alt="Eclipse.org black and white logo" width="166" height="39" id="logo-eclipse-white"/></span>
<p id="copyright-text">Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved.</p>
</div>
</div>
<a href="TaskManager.html#" class="scrollup">Back to the top</a>
</div>
</div>
</footer>
<script src="http://wiki.eclipse.org/skins/solstice/public/javascript/main.min.js"></script>
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-910670-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script> <!-- /footer -->
<script>/*<![CDATA[*/window.jQuery && jQuery.ready();/*]]>*/</script><script>if(window.mw){
mw.loader.state({"skins.solstice":"loading","site":"ready","user":"ready","user.groups":"ready"});
}</script>
<script src="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=skins.solstice&amp;only=scripts&amp;skin=solstice&amp;*"></script>
<script>if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest"],null,true);
}</script>
<script>if(window.mw){
mw.config.set({"wgBackendResponseTime":339});
}</script> </body>
</html>