<table><tr><td style="">TallFurryMan edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-h7fv2234r6cykxb/">(Show Details)</a>
</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/D12398">View Revision</a></tr></table><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;">Homogeneized scheduler log strings for clarity when reviewing test<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>results. Warning, all these logs are using i18n, so those changes<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>obviously have an impact on translation, if they are indeed translated.<br />
<br />
Reworked job estimation to check the number of light frames for each<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>sequence job in the schedule, in order to consolidate the total number<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>of frames effectively captured without dropping a sequence job <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">by<br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">by </span>mistake.<br />
<br />
Reworked job time estimation to properly account for progress when using<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>repeats. Now repeats-required field is expectedly 1 by default.<br />
<br />
Reworked capture count algorithm to rely on the state of the job to execute <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">the<br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">the </span>search, and reuse previous results whenever possible. This reduces the<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>directory parsing to storages of job which actually changed. Also, this does<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>not handle the duplicate scheduler job situation, only the duplicate sequence<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
job</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> job</span>. But possibly we don't care about the duplicate scheduler job situation,<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
that's completely acceptable and so much simpler for the end-user to have two<br />
duplicated jobs update to an identical status.</span> <span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">that's completely acceptable and so much simpler for the end-user to have two duplicated jobs update to an identical status. </span>BUT the case that is not covered<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>is the situation where the end-user would like to capture a target multiple<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>times, at different times. I believe the option "Remember Job Progress" might<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>provide a solution there, but this is to be tested.<br />
<br />
There is still work to be done as jobs won't update their capture count in <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">all<br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">all </span>situations. This should be fixed with better control of the job's state, not in<div style="padding: 8px 0;">...</div>I believe this is still quite slow, less than before but still slow. Perhaps<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>remove all logs from getCompletedFiles.<br />
<br />
This change also re-evaluates job in different situations, to get a more reactive<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>and always up-to-date interface. The objective is to never use the "evaluate"<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>button except for really resetting jobs.<br />
<br />
Also, added mitigation in the case findNextJob can't decide which job <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">to<br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">to </span>select.<br />
<br />
This change also works around issue with job definitely abandoned although they<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>could be rescheduled later, eventually on another night. This also mitigates<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>the issue with altitude cutoff, which apparently can't reliably determine when<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>the target is rising instead of falling.<br />
<br />
Also, removed scattered return instructions to clarify the algorithm. When a<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>capture says "Complete", changed the state to "Evaluation" so that job properly<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> </span>recounts its captures and properly considers the work left to be done.<br />
<br />
Fixed a few uses of QString::arg(). One call to QString::arg will replace <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">all<br />
</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">all </span>"%X" in the string. Next call to QString::arg will replace all "%X+1", etc.<div style="padding: 8px 0;">...</div></div></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/D12398">https://phabricator.kde.org/D12398</a></div></div><br /><div><strong>To: </strong>TallFurryMan, mutlaqja<br /><strong>Cc: </strong>KDE Edu, narvaez, apol<br /></div>