blob: 5df7fec69c5229e2ca81769e6ff93422f874f082 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>SMILA/Documentation/JobRuns - 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/JobRuns","wgTitle":"SMILA/Documentation/JobRuns","wgCurRevisionId":370654,"wgRevisionId":370654,"wgArticleId":32457,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["SMILA"],"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/JobRuns","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>
<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_JobRuns skin-solstice action-view" id="solstice">
<a class="sr-only" href="JobRuns.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="JobRuns.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="JobRuns.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="JobRuns.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/JobRuns</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%2FJobRuns">
<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="JobRuns.html#mw-head">navigation</a>,
<a href="JobRuns.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/JobRuns&amp;action=info">Page information</option><option value="/index.php?title=SMILA/Documentation/JobRuns&amp;oldid=370654">Permanent link</option><option value="/index.php?title=SMILA/Documentation/JobRuns&amp;printable=yes">Printable version</option><option value="/Special:SpecialPages">Special pages</option><option value="/Special:RecentChangesLinked/SMILA/Documentation/JobRuns">Related changes</option><option value="/Special:WhatLinksHere/SMILA/Documentation/JobRuns">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/JobRuns&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/JobRuns&amp;oldid=370654" 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/JobRuns&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/JobRuns" 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/JobRuns" 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="JobRuns.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/JobRuns&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/JobRuns&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/JobRuns&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/JobRuns</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="JobRuns.html#Job_runs"><span class="tocnumber">1</span> <span class="toctext">Job runs</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="JobRuns.html#Job_run_life_cycle"><span class="tocnumber">1.1</span> <span class="toctext">Job run life cycle</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="JobRuns.html#Job_modes"><span class="tocnumber">1.2</span> <span class="toctext">Job modes</span></a>
<ul>
<li class="toclevel-3 tocsection-4"><a href="JobRuns.html#Why_should_I_restrict_a_workflow_or_job"><span class="tocnumber">1.2.1</span> <span class="toctext">Why should I restrict a workflow or job</span></a></li>
</ul>
</li>
<li class="toclevel-2 tocsection-5"><a href="JobRuns.html#Job_Completion_Phase"><span class="tocnumber">1.3</span> <span class="toctext">Job Completion Phase</span></a></li>
<li class="toclevel-2 tocsection-6"><a href="JobRuns.html#Resuming_jobs_after_restart_of_SMILA_process"><span class="tocnumber">1.4</span> <span class="toctext">Resuming jobs after restart of SMILA process</span></a></li>
<li class="toclevel-2 tocsection-7"><a href="JobRuns.html#Start_job_run"><span class="tocnumber">1.5</span> <span class="toctext">Start job run</span></a></li>
<li class="toclevel-2 tocsection-8"><a href="JobRuns.html#Monitor_a_job_run_or_delete_job_run_data"><span class="tocnumber">1.6</span> <span class="toctext">Monitor a job run or delete job run data</span></a></li>
<li class="toclevel-2 tocsection-9"><a href="JobRuns.html#Monitor_a_job_run_with_details"><span class="tocnumber">1.7</span> <span class="toctext">Monitor a job run with details</span></a></li>
<li class="toclevel-2 tocsection-10"><a href="JobRuns.html#Finish_job_run"><span class="tocnumber">1.8</span> <span class="toctext">Finish job run</span></a></li>
<li class="toclevel-2 tocsection-11"><a href="JobRuns.html#Cancel_job_run"><span class="tocnumber">1.9</span> <span class="toctext">Cancel job run</span></a></li>
<li class="toclevel-2 tocsection-12"><a href="JobRuns.html#Cancel_workflow_run"><span class="tocnumber">1.10</span> <span class="toctext">Cancel workflow run</span></a></li>
<li class="toclevel-2 tocsection-13"><a href="JobRuns.html#Monitor_a_workflow_run"><span class="tocnumber">1.11</span> <span class="toctext">Monitor a workflow run</span></a></li>
</ul>
</li>
</ul>
</div>
<h1><span class="mw-headline" id="Job_runs">Job runs</span></h1>
<p>With a <a href="JobDefinitions.html" title="SMILA/Documentation/JobDefinitions">job definition</a> alone, the system is not yet doing anything. First, the job must be started to get a so called job run. How the actual processing is then triggered, depends on the mode of the job run.
</p><p><br />
</p>
<h2><span class="mw-headline" id="Job_run_life_cycle">Job run life cycle</span></h2>
<p><a href="http://wiki.eclipse.org/File:JobLifecycle-1.1.png" class="image"><img alt="JobLifecycle-1.1.png" src="http://wiki.eclipse.org/images/thumb/5/54/JobLifecycle-1.1.png/800px-JobLifecycle-1.1.png" width="800" height="600" srcset="/images/5/54/JobLifecycle-1.1.png 1.5x, /images/5/54/JobLifecycle-1.1.png 2x" /></a>
</p><p><font size="-1">
Download <a href="http://wiki.eclipse.org/images/a/ad/SMILA_JobRunLifeCycle-1.1.zip" class="internal" title="SMILA JobRunLifeCycle-1.1.zip">this zip file</a> containing the original PowerPoint file of this slide.
</font>
</p><p>A job run starts in the <tt>PREPARING</tt> state. In this phase the job run is instantiated, necessary structures in the runtime storage (ZooKeeper) are created and the initial tasks for <tt>runOnce</tt> jobs are computed. If this has been done successfully, the job run goes to the <tt>RUNNING</tt> state and the real work of the job begins. When a <tt>finish</tt> command is sent (either by the user or the jobmanager itself for <tt>runOnce</tt> jobs) the job run is moved to the <tt>FINISHING</tt> state, in which no new workflow runs can be created, but only existing tasks and their follow-up tasks are completed. If all workflow runs have been done, a completion phase can follow (state <tt>COMPLETING</tt>, see below) and finally there is a clean-up phase in which statistics are persisted and the job run structures are removed from the runtime storage. If everything is OK, the job run ends in state <tt>SUCCEEDED</tt>.
</p><p>A job run can be canceled if it is in the state <tt>PREPARING</tt>, <tt>RUNNING</tt> or <tt>FINISHING</tt>. This tries to remove or abort all current tasks of this job and immediately finishes the job run. No further tasks will be created in this job, no data in transient buckets will be removed. Also it will often cause lots of log entries complaining about tasks that could not be finished anymore. For that reason, it should be used as an emergency exit only, for example if some job is running wild or has gone dead. The state of such a job is <tt>CANCELED</tt>.
</p><p>If fatal errors occur in any of the non-final states (e.g. PREPARING, COMPLETING etc), the job will be finished and stored with state <tt>FAILED</tt>. This happens, in particular, when none of the started workflow runs could be completed successfully.
</p>
<h2><span class="mw-headline" id="Job_modes">Job modes</span></h2>
<p>There are two different modes in which job runs can be operated:
</p>
<ul>
<li> Job runs in "standard" mode are triggered with every new object that is dropped into the bucket connected to the start action of the respective workflow (or, if it has no input bucket, which the start worker produces from other sources like the <a href="Bulkbuilder.html" title="SMILA/Documentation/Bulkbuilder">Bulkbuilder</a>). They continue until they are finished manually. Once in the FINISHING state, no new workflow runs are accepted anymore, but the active ones continue until completed.
</li>
<li> Job runs in "runOnce" start, create some initial tasks and go immediately to the FINISHING state. They do not react on further input. If something goes wrong while creating the initial tasks, the job run goes to state FAILED immediately and no task will be processed at all. All tasks are executed in a single workflow run, all follow-up tasks of the initial tasks are also part of this workflow run. A consequence of this is that the complete job run will fail, if one task fails fatally, so workers in runOnce jobs should finish tasks with fatal errors only if this is really a critical problem that should cancel the job run. The details of the task creation depend on the start action worker, because the task creation is actually done by the worker's task generator. Currently we have two varieties:
<ul>
<li> Either the workflow has exactly one persistent input bucket in its start action, and for each existing object in this bucket, one task for the startAction worker is generated. Unlike job runs in standard mode, this job does not react on new objects but process all objects that are currently contained in the respective input bucket and then finish automatically.
</li>
<li> As another possibility the workflow starts with a worker using the <tt>runOnceTrigger</tt> task generator. In <tt>runOnce</tt> mode, this task creates one initial task without input data objects, afterwards it behaves just like the default task generator. The worker can then create output bulks at will. An application of this is the <a href="Importing/Concept.html" title="SMILA/Documentation/Importing/Concept">importing use case</a>, where the starting crawler worker creates the first bulks from data extracted from an external data source. The input bucket of the start action worker does not need to be persistent in this use case.
</li>
</ul>
</li>
</ul>
<p>Job modes can be restricted in the <a href="WorkerAndWorkflows.html#Workflows" title="SMILA/Documentation/WorkerAndWorkflows">workflow</a> and <a href="JobDefinitions.html" title="SMILA/Documentation/JobDefinitions">job definitions</a>.
</p>
<ul>
<li> if no <tt>modes</tt> section is present in either definition, all modes are allowed when starting the job run, default mode will be <span style="font-family:monospace;">standard</span> (i.e. if no <tt>mode</tt> is provided when starting the job).
</li>
<li> the default mode to use is the first mode listed in the list of available modes.
</li>
<li> if <tt>modes</tt> sections are present in workflow and job definition, the job definitions <tt>modes</tt> section overwrites the workflow definition' <tt>modes</tt> section.
</li>
<li> the job definition's <tt>modes</tt> section can only restrict the workflow definition's section or define another default mode but not expand the allowed modes list.
</li>
</ul>
<h3><span class="mw-headline" id="Why_should_I_restrict_a_workflow_or_job">Why should I restrict a workflow or job</span></h3>
<p>There are many reasons why one should want to restrict modes for a workflow or a job or define default modes, so a job is started in the desired mode if the mode is not explicitly given during job start.
</p><p>E.g. (most) crawler jobs make only sense when started in <span style="font-family:monospace;">runOnce</span> mode, so the modes should be restricted to this mode. Or a job that uses the Bulkbuilder as start action will only make sense in the <span style="font-family:monospace;">standard</span> mode, so the workflow should also be restricted to this mode.
</p>
<h2><span class="mw-headline" id="Job_Completion_Phase">Job Completion Phase</span></h2>
<p>Workers can request to get extra tasks after all the "standard" tasks of a job have been done. The purpose of this is to clean up or consolidate work that cannot be triggered before the actual work of the job run is done. An example is the <a href="Importing/Concept.html#DeltaDelete" title="SMILA/Documentation/Importing/Concept">Delta Delete</a> part of the importing jobs: Only after a data source has been crawled completely, it can be determined which elements of the data source have been deleted since a previous import and must be deleted in the import target, too.
</p><p>A completion job run is initiated if
</p>
<ul>
<li> at least one worker used in the workflow requests it: this is done by setting mode <tt>requestsCompletion</tt> in the <a href="WorkerAndWorkflows.html#Worker_definition" title="SMILA/Documentation/WorkerAndWorkflows">worker definition</a>.
</li>
<li> at least one of the standard workflow runs has been completed successfully, i.e. without the completion run, the job run would have been finished as <tt>SUCCEEDED</tt>.
</li>
</ul>
<p>Then the taskgenerator of every worker that requests completion is invoked to create <i>completion tasks</i>. The default task generator creates one such task without any input or output bulks attached. Such tasks can be recognized
by the worker because the <i>task property</i> <tt>isCompletingTask</tt> is present and set to <tt>true</tt>. These tasks are added to the worker task queue in the TaskManager just like normal tasks. No follow-up tasks are created after these completion tasks have finished successfully or with a fatal error, the retry behaviour on recoverable errors is just like that for normal tasks, too.
</p><p>During the completion workflow run, the job run is in state <tt>COMPLETING</tt>. When all completion tasks are done, the job run is cleaned up (in a short intermediate state named <tt>CLEANINGUP</tt>) and finally finished (as <tt>SUCCEEDED</tt> or <tt>FAILED</tt>). If no worker requests completion or no task generator creates a completion task for the workers that request a completion run, the job leaves the <tt>COMPLETING</tt> state immediately and (via <tt>CLEANINGUP</tt>) moves to <tt>SUCCEEDED</tt> or <tt>FAILED</tt>.
</p>
<h2><span class="mw-headline" id="Resuming_jobs_after_restart_of_SMILA_process">Resuming jobs after restart of SMILA process</span></h2>
<p>By default, when restarting SMILA after it has been shut down or crashed (hopefully not), no jobs will be running any more and all tasks that were "todo" or "in-progress" in the previous session will be gone. However, it is possible to restart SMILA in such a way that all jobs that were active at the time of shutdown will immediately be active again, and all tasks not yet done will still be available, so that all job runs should continue without losing the information they were processing.
</p><p>Of course, tasks that were in-progress at the time of shutdown will not be continued immediately but retried after their time-to-live has expired. Such tasks will be counted as "retriedAfterTimeout" in the job run data.
</p><p>Resuming of jobs can be enabled or disabled in two ways:
</p>
<ul>
<li> By configuration: see <a href="TaskManager.html#Configuration" title="SMILA/Documentation/TaskManager">TaskManager Configuration</a>
</li>
<li> Override only for the current start: You can use one of two command line parameters to override the configuration setting:
<ul>
<li> <tt>-resumeJobs</tt>: resume jobs, don't clear job run data and tasks.
</li>
<li> <tt>-discardJobs</tt>: discard jobs, remove all active job run data and tasks.
</li>
</ul>
</li>
</ul>
<div class="messagebox" style="background-color: #def3fe; border: 1px solid #c5d7e0; color: black; padding: 5px; margin: 1ex 0; min-height: 35px; padding-left: 45px;">
<div style="float: left; margin-left: -40px;"><a href="http://wiki.eclipse.org/File:Idea.png" class="image"><img alt="Idea.png" src="http://wiki.eclipse.org/images/a/a4/Idea.png" width="35" height="35" /></a></div>
<div><b>Implementation details</b>
<p>Technically, the removal of active job run data and tasks is done in the <a href="Bundle_org.eclipse.smila.zookeeper.html" title="SMILA/Documentation/Bundle org.eclipse.smila.zookeeper">Zookeeper service</a>: When resuming jobs is disabled, the service removes all files in its data directories before starting the internal Zookeeper service. Otherwise it just starts with the data leftover from the last run which is a persisted version of Zookeeper's in-memory tree.
</p><p>Additionally, this means that you should not configure Zookeeper to write its data to a RAM disk if you need the active job run data and tasks to survive even a crash of the machine SMILA is running on (e.g. due to power failure). However, it is strongly recommended to use at least a different hard disk for the Zookeeper data dir than the disk SMILA stores its own data on. See <a href="Bundle_org.eclipse.smila.zookeeper.html" title="SMILA/Documentation/Bundle org.eclipse.smila.zookeeper">Zookeeper service</a> for details on this configuration.
</p>
<b><br /></div></b>
</div>
<p><br />
</p>
<h2><span class="mw-headline" id="Start_job_run">Start job run</span></h2>
<p>You can use a POST request without a request body to start a job run in default mode (see <a href="JobRuns.html#Job_modes">Job modes</a> to find out which mode is the default mode of the job). To start a job run in a different mode than the default mode, add the following simple JSON object to the request body (in this example the job should be started in <span style="font-family:monospace;">runOnce</span> mode):
</p>
<pre>
{
&quot;mode&quot;: &quot;runOnce&quot;
}
</pre>
<p>The job cannot be started if it requires another job that is currently not running. A required job is a job that is referenced by a parameter that is marked with <tt>range="jobName"</tt> in one of the workers used in this job.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>POST: Start job run.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/jobmanager/jobs/&lt;job-name&gt;/</tt>
</li>
<li>Allowed methods:
<ul>
<li>POST (with optional request body specifying the mode)
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution. A JSON object with <tt>jobId</tt> and <tt>url</tt> will be returned.
</li>
<li>400 BAD REQUEST:
<ul>
<li>The taskgenerator, job or workflow definition do not allow the requested mode.
</li>
<li>The job uses a worker that required another job to be running.
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><b>Example:</b>
</p><p>To start the job named "myJob" in "default" mode (see above) you don't have to explicitly set a job run mode:
</p>
<pre>
POST /smila/jobmanager/jobs/myJob/
</pre>
<p>The result would be:
</p>
<pre>
HTTP/1.x 200 OK
{
&quot;jobId&quot;&#160;: &quot;20110712-184509666721&quot;,
&quot;url&quot;&#160;: &quot;http://localhost:8080/smila/jobmanager/jobs/myJob/20110712-184509666721/&quot;
}
</pre>
<p><br />
To start the job named "myJob" in "standard" mode, if that mode is allowed by job and workflow definition:
</p>
<pre>
POST /smila/jobmanager/jobs/myJob/
{
&quot;mode&quot;: &quot;standard&quot;
}
</pre>
<p>To start the job named "myJob" in "runOnce" mode, if that mode is allowed by job and workflow definition:
</p>
<pre>
POST /smila/jobmanager/jobs/myJob/
{
&quot;mode&quot;: &quot;runOnce&quot;
}
</pre>
<p>The result object would be equal to "standard" mode.
</p>
<h2><span class="mw-headline" id="Monitor_a_job_run_or_delete_job_run_data">Monitor a job run or delete job run data</span></h2>
<p>Use a GET request to view job run data of a specific job run. Use DELETE to delete the data of a specific job run.
</p><p><b>Job run data:</b>
</p><p>The following parameters are contained in the job run data:
</p>
<ul>
<li><tt>jobId</tt>: The ID of the job run.
</li>
<li><tt>mode</tt>: The mode of the job run, i.e. either <tt>STANDARD</tt> or <tt>RUNONCE</tt>.
</li>
<li><tt>state</tt>: The current status of the job run, see <a href="JobRuns.html#Job_run_life_cycle"> Job run life cycle</a>. May be one of the following:
<ul>
<li><tt>PREPARING</tt>: started but not running yet
</li>
<li><tt>RUNNING</tt>: running
</li>
<li><tt>FINISHING</tt>: finished but not all tasks processed yet
</li>
<li><tt>COMPLETING</tt>: finished, all tasks processed but job run not completed (e.g. not persisted) yet
</li>
<li><tt>SUCCEEDED</tt>: successfully completed
</li>
<li><tt>FAILED</tt>: failed
</li>
<li><tt>CANCELING</tt>: canceled, but clean-up is not yet completed.
</li>
<li><tt>CANCELED</tt>: canceling done.
</li>
</ul>
</li>
<li><tt>workflowRuns</tt>: Describes the workflow runs which are part of this job run. Note: startedWorkflowRunCount == activeWorkflowRunCount + successfulWorkflowRunCount + failedWorkflowRunCount + canceledWorkflowRuns
<ul>
<li><tt>startedWorkflowRunCount</tt>: The number of started workflow runs.
</li>
<li><tt>startedCompletionWorkflowRunCount</tt>: The number of started completion workflow runs.
</li>
<li><tt>activeWorkflowRunCount</tt>: The number of active workflow runs.
</li>
<li><tt>successfulWorkflowRunCount</tt>: The number of successfully finished workflow runs (incl. a completion workflow run, if started).
</li>
<li><tt>failedWorkflowRunCount</tt>: The number of failed workflow runs.
</li>
<li><tt>canceledWorkflowRunCount</tt>: The number of canceled workflow runs.
</li>
</ul>
</li>
<li><tt>tasks</tt>: Describes the tasks which are part of this job run. After the job has finished it should be createdTaskCount == successfulTaskCount + retriedAfterErrorTaskCount + retriedAfterTimeoutTaskCount + failedAfterRetryTaskCount + failedWithoutRetryTaskCount + canceledTaskCount + obsoleteTaskCount. However, we cannot strictly guarantee this, under very high load it's possible that a task is not counted correctly.
<ul>
<li> <tt>createdTaskCount</tt>: The number of tasks created in this run. This includes tasks created due to retry.
</li>
<li> <tt>successfulTaskCount</tt>: The number of tasks that were finished successfully by a worker.
</li>
<li> <tt>retriedAfterErrorTaskCount</tt>: The number of tasks that were retried because a worker finished the task with a recoverable error (e.g. IOError while reading the input or writing the output).
</li>
<li> <tt>retriedAfterTimeoutTaskCount</tt>: The number of tasks that were retried because a worker did not send the "keepAlive" signal anymore.
</li>
<li> <tt>failedAfterRetryTaskCount</tt>: The number of tasks that finally failed after reaching the configured maximum number of retries.
</li>
<li> <tt>failedWithoutRetryTaskCount</tt>: The number of tasks that finally failed because the worker finished the task with a fatal error (e.g. due to corrupt input data).
</li>
<li> <tt>canceledTaskCount</tt>: The number of tasks that were canceled because a workflow run was canceled or failed due to another task in the workflow run having finally failed. They may have produced their result successfully, but they did not trigger follow-up tasks.
</li>
<li> <tt>obsoleteTaskCount</tt>: The number of tasks that became obsolete for some reason. The difference to 'canceledTaskCount' is that becoming obsolete is not triggered by an error on the workflow run resp. another task. It's just that the cause / precondition to process this task is gone.
</li>
</ul>
</li>
<li> <tt>startTime</tt>: The timestamp when the job run was started (DateTime format ISO).
</li>
<li> <tt>finishTime</tt>: The timestamp when the finish command was called for this job run (DateTime format ISO).
</li>
<li> <tt>endTime</tt>: The timestamp when the job status changed to <tt>SUCCEEDED</tt>, <tt>FAILED</tt> or <tt>CANCELED</tt>.
</li>
<li> <tt>worker</tt>: Contains accumulated job run data for all workers that have contributed to this job run. Each entry starts with a counter followed by "_" and the Worker Name (e.g. "0_bulkbuilder", "1_pipeletProcessor", "2_pipeletProcessor"), so that if a workflow contains the same Worker multiple times we have separate counters for each Worker instance. The counter matches the order of execution of the workers, starting with 0 for the first Worker (the start action). Each worker entry contains:
<ul>
<li> The number of successful, failed, and retried tasks for each worker in this job run (same counter names and meanings as in the global section above).
</li>
<li> <tt>startTime</tt>: The timestamp when the first task for a worker of this type was started in the job run (DateTime format ISO).
</li>
<li> <tt>endTime</tt>: The timestamp when the latest task for a worker of this type was finished in the job run (DateTime format ISO). This timestamp is updated with every finished task.
</li>
<li> The accumulated counters as reported by the workers in their result descriptions.
</li>
</ul>
</li>
</ul>
<p><b>Supported operations:</b>
</p>
<ul>
<li>GET: To monitor the job run.
</li>
<li>DELETE: To delete job run data.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/jobmanager/jobs/&lt;job-id&gt;/</tt>
</li>
<li>Allowed methods:
<ul>
<li>GET
</li>
<li>DELETE
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution (GET/DELETE). If the job run with the given job name and job id does not exist, no error will occur during DELETE.
</li>
<li>500 Server Error: If the job run is still running (DELETE).
</li>
</ul>
</li>
</ul>
<h2><span class="mw-headline" id="Monitor_a_job_run_with_details">Monitor a job run with details</span></h2>
<p>It is possible to update existings jobs. You can update the job definition, workflow definition and bucket definition. To see which definitions have been used during a job run you can display additional information with returnDetails=true.
</p>
<pre>
GET /smila/jobmanager/jobs/&lt;job-name&gt;/&lt;job-id&gt;/?returnDetails=true
</pre>
<h2><span class="mw-headline" id="Finish_job_run">Finish job run</span></h2>
<p>Use a POST request to finish a job run.
</p><p>A job cannot be finished, while a dependent job is running. A dependent job is one using a worker that has a parameter marked with <tt>range="jobName"</tt> referencing this job.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>POST: finish job run.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/jobmanager/jobs/&lt;job-name&gt;/&lt;job-id&gt;/finish/</tt>
</li>
<li>Allowed methods:
<ul>
<li>POST
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>202 ACCEPTED: Finishes the job run (asynchronous call)
</li>
<li>400 BAD REQUEST: wrong URL pattern, or another job required that this job is running.
</li>
<li>404 NOT FOUND: job run not found
</li>
<li>405 METHOD NOT ALLOWED: wrong HTTP method used, only POST is accepted here
</li>
<li>410 GONE: job run was finished before and has already been moved to the history of job runs
</li>
<li>500 INTERNAL SERVER ERROR: other errors
</li>
</ul>
</li>
</ul>
<h2><span class="mw-headline" id="Cancel_job_run">Cancel job run</span></h2>
<p>Use a POST request to cancel a job run.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>POST: cancel job run.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/jobmanager/jobs/&lt;job-name&gt;/&lt;job-id&gt;/cancel/</tt>
</li>
<li>Allowed methods:
<ul>
<li>POST
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution. Cancel the job run
</li>
<li>400 BAD REQUEST: wrong URL pattern.
</li>
<li>404 NOT FOUND: job run not found
</li>
<li>405 METHOD NOT ALLOWED: wrong HTTP method used, only POST is accepted here
</li>
<li>410 GONE: job run was finished before and has already been moved to the history of job runs
</li>
<li>500 INTERNAL SERVER ERROR: other errors
</li>
</ul>
</li>
</ul>
<h2><span class="mw-headline" id="Cancel_workflow_run">Cancel workflow run</span></h2>
<p>Not only a whole job run can be canceled, but also a single workflow run inside a job run. A workflow run may be canceled if the job run is in state RUNNING or FINISHING.
</p><p>To cancel a workflow you need the job run id and the workflow run id. This information is e.g. contained in the JSON response body when <a href="Bulkbuilder.html#Record_push_REST_API" title="SMILA/Documentation/Bulkbuilder"> pushing records to the record API</a>.
</p><p>If the canceled workflow run does not exist, the call is ignored.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>POST: cancel workflow run.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/jobmanager/jobs/&lt;job-name&gt;/&lt;job-id&gt;/workflowrun/&lt;workflowRun-id&gt;/cancel/</tt>
</li>
<li>Allowed methods:
<ul>
<li>POST
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>400 BAD REQUEST: wrong URL pattern.
</li>
<li>404 NOT FOUND: job run not found (<i>Hint: if the workflow run is not found, the call is ignored and the response is 200 OK</i>)
</li>
<li>405 METHOD NOT ALLOWED: wrong HTTP method used, only POST is accepted here
</li>
<li>410 GONE: job run was finished before and has already been moved to the history of job runs
</li>
<li>500 INTERNAL SERVER ERROR: other errors
</li>
</ul>
</li>
</ul>
<h2><span class="mw-headline" id="Monitor_a_workflow_run">Monitor a workflow run</span></h2>
<p>Use a GET request to monitor a workflow run.
</p><p><b>Supported operations:</b>
</p>
<ul>
<li>GET: monitor workflow run.
</li>
</ul>
<p><b>Usage:</b>
</p>
<ul>
<li>URL: <tt>http://&lt;hostname&gt;:8080/smila/jobmanager/jobs/&lt;job-name&gt;/&lt;job-id&gt;/workflowrun/&lt;workflowRun-id&gt;/</tt>
</li>
<li>Allowed methods:
<ul>
<li>GET
</li>
</ul>
</li>
<li>Response status codes:
<ul>
<li>200 OK: Upon successful execution.
</li>
<li>404 NOT FOUND: If the workflow run specified does not exist. This can either mean that the workflow run existed but has already been finished, or that it never existed all. You cannot differentiate both cases without further information unless you can make sure that the ID existed before.
</li>
</ul>
</li>
</ul>
<p><b>Examples:</b>
</p><p>To monitor a workflow run:
</p>
<pre>
GET /smila/jobmanager/jobs/myJob/20110527_175314695579/workflowrun/1/
</pre>
<p>If it is still running, the result would be:
</p>
<pre>
HTTP/1.x 200 OK
{
&quot;activeTaskCount&quot;: 1
&quot;transientBulkCount&quot;: 1
}
</pre>
<p>If not, the result would be:
</p>
<pre>
HTTP/1.x 404 NOT FOUND
</pre>
<!--
NewPP limit report
CPU time usage: 0.144 seconds
Real time usage: 0.154 seconds
Preprocessor visited node count: 225/1000000
Preprocessor generated node count: 653/1000000
Post‐expand include size: 3551/2097152 bytes
Template argument size: 2843/2097152 bytes
Highest expansion depth: 5/40
Expensive parser function count: 0/100
-->
<!-- Saved in parser cache with key my_wiki:pcache:idhash:32457-0!*!0!!en!2!* and timestamp 20150413202118 and revision id 370654
-->
</div>
<!-- catlinks -->
<div id='catlinks' class='catlinks'><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="http://wiki.eclipse.org/Special:Categories" title="Special:Categories">Category</a>: <ul><li><a href="http://wiki.eclipse.org/Category:SMILA" title="Category:SMILA">SMILA</a></li></ul></div></div> <!-- /catlinks -->
</div>
</div>
</div>
</div>
<!-- /maincontent -->
<!-- printfooter -->
<div class="printfooter">
Retrieved from "<a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/JobRuns&amp;oldid=370654">http://wiki.eclipse.org/index.php?title=SMILA/Documentation/JobRuns&amp;oldid=370654</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 11:33, 22 September 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:Nadine.auslaender.empolis.com&amp;action=edit&amp;redlink=1" class="new" title="User:Nadine.auslaender.empolis.com (page does not exist)">Nadine Ausländer</a>, <a href="http://wiki.eclipse.org/index.php?title=User:Daniel.stucky.attensity.com&amp;action=edit&amp;redlink=1" class="new" title="User:Daniel.stucky.attensity.com (page does not exist)">Daniel Stucky</a> and <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=SMILA/Documentation/JobRuns&amp;action=credits" title="SMILA/Documentation/JobRuns">others</a>.</p><p id="footerviews">This page has been accessed 6,130 times.</p></div></section> </main> <!-- /#main-content-container-row -->
<p id="back-to-top" class="noprint hidden-print">
<a class="visible-xs" href="JobRuns.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="JobRuns.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":406});
}</script> </body>
</html>