<table><tr><td style="">wreissenberger added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D22446">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>So we try to set jobs to COMPLETED based on frame count, we make sure we do not touch the frame count except when receiving a frame or recounting storage frames, and we do that state change when starting evaluation only? In other words, we never complete jobs during execution? The problem with states is that we must not jitter between values needlessly. Do you have a state diagram in head?</p></blockquote>

<p>Let me give a try defining COMPLETED for a sequence job <tt style="background: #ebebeb; font-size: 13px;">seq_j</tt>:</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">completed(seq_j) <--> if repeats exist -> (forall filters in seq_j: sum(relevant_frames(filter)) >= repeats * (sum frames for filter in seq_j)) 
                                      else if repeat until date valid --> current time >= repeat until date

relevant_frames(filter) = if remember job progress -> all matching frames in the frames directory 
                                          else all matching frames from the current scheduler run</pre></div>

<p>I know, there is (at least) one deviation from the current implementation: if a sequence contains more than one entry for a filter, they are counted separately: <br />
<tt style="background: #ebebeb; font-size: 13px;">3xL + R + G + B + 2xL</tt> is not equivalent to <tt style="background: #ebebeb; font-size: 13px;">5xL + R + G + B</tt></p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R321 KStars</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D22446">https://phabricator.kde.org/D22446</a></div></div><br /><div><strong>To: </strong>wreissenberger, mutlaqja, TallFurryMan<br /><strong>Cc: </strong>kde-edu, narvaez, apol<br /></div>