<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dafne.bi-services.sk/index.php?action=history&amp;feed=atom&amp;title=Investigating_a_stalled_processing</id>
	<title>Investigating a stalled processing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dafne.bi-services.sk/index.php?action=history&amp;feed=atom&amp;title=Investigating_a_stalled_processing"/>
	<link rel="alternate" type="text/html" href="https://wiki.dafne.bi-services.sk/index.php?title=Investigating_a_stalled_processing&amp;action=history"/>
	<updated>2026-10-23T19:25:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.4</generator>
	<entry>
		<id>https://wiki.dafne.bi-services.sk/index.php?title=Investigating_a_stalled_processing&amp;diff=68&amp;oldid=prev</id>
		<title>Dafne: Documentation import</title>
		<link rel="alternate" type="text/html" href="https://wiki.dafne.bi-services.sk/index.php?title=Investigating_a_stalled_processing&amp;diff=68&amp;oldid=prev"/>
		<updated>2026-08-06T13:36:46Z</updated>

		<summary type="html">&lt;p&gt;Documentation import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page covers a specific and common situation: a processing is active, no task is failing, but nothing is running. The Running counter is zero while the Waiting counter is not.&lt;br /&gt;
&lt;br /&gt;
A stalled processing is almost always waiting for something rather than broken. The job is to find out what.&lt;br /&gt;
&lt;br /&gt;
== Use the waiting reasons ==&lt;br /&gt;
Select any waiting task in the [[Monitor console]]. If the task is blocked, a &amp;#039;&amp;#039;&amp;#039;pending&amp;#039;&amp;#039;&amp;#039; icon appears on the right of the detail panel. Opening it lists the &amp;#039;&amp;#039;&amp;#039;waiting reasons&amp;#039;&amp;#039;&amp;#039; — the specific conditions that task is still waiting on.&lt;br /&gt;
&lt;br /&gt;
This is the first thing to check. It answers directly what the rest of this page works out indirectly.&lt;br /&gt;
&lt;br /&gt;
== The usual causes ==&lt;br /&gt;
&lt;br /&gt;
=== The executor is not running ===&lt;br /&gt;
Check the executor status button in the filter bar. If it reads &amp;#039;&amp;#039;Paused&amp;#039;&amp;#039;, no new tasks will be started although running ones continue. If it reads &amp;#039;&amp;#039;Stopped&amp;#039;&amp;#039; or &amp;#039;&amp;#039;Stopping&amp;#039;&amp;#039;, nothing will start at all.&lt;br /&gt;
&lt;br /&gt;
The task action menu also reports this: it shows &amp;#039;&amp;#039;Scheduler stopped&amp;#039;&amp;#039; and disables the actions. See [[Executor control]].&lt;br /&gt;
&lt;br /&gt;
=== The processing is paused ===&lt;br /&gt;
A single processing can be paused while the executor keeps running other processings normally. Its status in the Active processings panel reads &amp;#039;&amp;#039;Paused&amp;#039;&amp;#039;, and the task action menu shows &amp;#039;&amp;#039;Processing not active&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Resume it from the processing actions menu; see [[Controlling a processing]].&lt;br /&gt;
&lt;br /&gt;
=== The tasks are waiting on dependencies ===&lt;br /&gt;
Select a waiting task and open the &amp;#039;&amp;#039;&amp;#039;Backward&amp;#039;&amp;#039;&amp;#039; tab. It lists what the task is waiting for, with each entry&amp;#039;s current status. Click through to the entry that has not completed, and repeat, until you reach the task at the head of the chain.&lt;br /&gt;
&lt;br /&gt;
What you find at the head is usually one of:&lt;br /&gt;
* a task in &amp;#039;&amp;#039;&amp;#039;Error&amp;#039;&amp;#039;&amp;#039; that has stopped the chain — see [[Handling failed tasks]]&lt;br /&gt;
* a task &amp;#039;&amp;#039;&amp;#039;On hold&amp;#039;&amp;#039;&amp;#039; that somebody held earlier and did not release&lt;br /&gt;
* a &amp;#039;&amp;#039;&amp;#039;group dependency&amp;#039;&amp;#039;&amp;#039; that is waiting for every task in a group, where one member has not finished&lt;br /&gt;
&lt;br /&gt;
Remember that a group dependency is effectively a dependency between every combination of tasks in the two groups, so one unfinished member blocks everything downstream of the group. See [[Dependencies]].&lt;br /&gt;
&lt;br /&gt;
=== A dependency cycle ===&lt;br /&gt;
Tasks in a dependency cycle can never start, because their dependencies will never all be satisfied.&lt;br /&gt;
&lt;br /&gt;
Dafne checks for cycles when a processing is planned. A cycle found at that point is reported. However, if dependencies are changed while a processing is already planned, the new cycle is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; detected, and the affected tasks will wait indefinitely. This has to be resolved manually — correct the dependency definition, then release the blocked tasks.&lt;br /&gt;
&lt;br /&gt;
This is the reason for not changing dependencies during a run; see [[Daily supervision]].&lt;br /&gt;
&lt;br /&gt;
=== Resource limits are reached ===&lt;br /&gt;
If tasks are ready to run but none start, and no dependency is outstanding, the limit is a resource one. Dafne will not start a task that would exceed:&lt;br /&gt;
* the &amp;#039;&amp;#039;&amp;#039;global parallelism limit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* the &amp;#039;&amp;#039;&amp;#039;parallelism limit&amp;#039;&amp;#039;&amp;#039; on the group or connection&lt;br /&gt;
* the &amp;#039;&amp;#039;&amp;#039;load limit&amp;#039;&amp;#039;&amp;#039; on the group or connection, evaluated against the weights of the tasks already running&lt;br /&gt;
&lt;br /&gt;
Where a group limit and a connection limit both apply, the stricter one wins. A task can therefore be blocked by a connection that is fully occupied even though its group has capacity. See [[Resource management]].&lt;br /&gt;
&lt;br /&gt;
An &amp;#039;&amp;#039;&amp;#039;exclusive dependency&amp;#039;&amp;#039;&amp;#039; produces the same symptom for a single pair of tasks: the second will not start while the first is running.&lt;br /&gt;
&lt;br /&gt;
=== The scenario has not triggered ===&lt;br /&gt;
If the processing has not appeared at all, rather than stalling, the scenario has not triggered yet. The Active processings panel shows waiting scenarios with the time they will start.&lt;br /&gt;
&lt;br /&gt;
For an SQL-based scenario, the panel also shows the polling count, the time and status of the last polling, the value the planning query returned, and the error message if the polling failed. That is usually enough to tell whether the query is returning no date, returning a date that has already been processed, or failing outright.&lt;br /&gt;
&lt;br /&gt;
Also check the generic constraints — scenario validity dates and the &amp;#039;&amp;#039;Not before&amp;#039;&amp;#039; / &amp;#039;&amp;#039;Not after&amp;#039;&amp;#039; window — and, for a daily scenario, whether all previous instances have completed. See [[Planning]].&lt;br /&gt;
&lt;br /&gt;
=== The maximum parallel count is reached ===&lt;br /&gt;
A scenario will not plan a new instance beyond its &amp;#039;&amp;#039;&amp;#039;Max parallel&amp;#039;&amp;#039;&amp;#039; setting. If earlier dates are still open, the next one waits. This is expected behaviour, not a fault; either let the open runs finish or raise the limit deliberately. See [[Parallelism]].&lt;br /&gt;
&lt;br /&gt;
== Checking a single task&amp;#039;s time window ==&lt;br /&gt;
A task can carry its own &amp;#039;&amp;#039;Not before&amp;#039;&amp;#039; / &amp;#039;&amp;#039;Not after&amp;#039;&amp;#039; window. Where one is set, it appears in the &amp;#039;&amp;#039;&amp;#039;Info&amp;#039;&amp;#039;&amp;#039; tab of the task detail. A task inside a running processing will wait until its window opens.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Monitor console]]&lt;br /&gt;
* [[Resource management]]&lt;br /&gt;
* [[Dependencies]]&lt;br /&gt;
* [[Planning]]&lt;/div&gt;</summary>
		<author><name>Dafne</name></author>
		
	</entry>
</feed>