You are of course correct. My error. Perhaps a mod. could split the relevant messages into a separate thread "Queue processing" or similar?Technically the Queue is not part of Sweeper, Queue is part of auto-processing.
Technically it's not a queue then. There'd be a riot if this happened at the checkouts. It confuses my sense of expectation at least. It probably doesn't matter, but it's not "right".I have never really considered the order entries on the queue are processed, usually you would only have a couple of recordings at a time on the queue and if you are submitting a batch does it really matter what order they are processed provided they are all, eventually, processed.
No it doesn't. It's error trapped and prevented from being changed, as mentioned previously (<1 test).Changing to 0 stops recursion
Something like this would probably do it (I'm not in a position to test it at the moment):I looked at the code in /mod/webif/lib/auto/deq and didn't really understand it (proc ::auto:ending and proc ::auto::runplugins I guess).
@@ -155,7 +155,10 @@ proc ::auto::pending {} {
set ba [$b get action]
if {$aa ni $::auto::plugins} { return 0 }
if {$ba ni $::auto::plugins} { return 0 }
- return $($::auto::plugins($aa) - $::auto::plugins($ba))
+ set ap $::auto::plugins($aa)
+ set bp $::auto::plugins($ba)
+ if {$ap != $bp} { return $($ap - $bp) }
+ return $([$b get id] - [$a get id])
}] [queue pending]]
}
And I guess it's impossible to change the recurse operation from the GUI without either resorting to the text editor or deleting and recreating the rule?
Yes, that looks plausible! It also works fine. Thanks.Something like this would probably do it (I'm not in a position to test it at the moment)
That all works too, with the exception of the 16 upper limit on the Edit recursion depth dialog. It should be 15 to match the "< 16" test I mentioned, or change the test to "<= 16".I added the option to change rules between recursive and non-recursive by editing the recursion level to/from zero. I also fixed the other things you suggested regarding the rule name and giving the browser hints about the limits for the fields (although it's still down to the browser to honour them in the dialogue)
I think the pending queue is a priority queue. Airline boarding is a better analogy than the supermarket!...
Technically [the auto "queue" is] not a queue then. There'd be a riot if this happened at the checkouts. It confuses my sense of expectation at least. It probably doesn't matter, but it's not "right".
# dequeue pseudo-code
while sorted pending queue [::auto::pending] is not empty
process head item and remove
endwhile
/mod/webif/lib/auto/NOTES
.Rather than being specific to mp4 it would be quite useful to have a new rule type 'Process File Type" with the option to specify which file type and the recursion depth.Would it be possible to add the ability for sweeper to process youtube-dl files please
Definitely.I would like the means to apply any arbitrary command via sweeper rules and also directly onto the auto-process queue. It might be possible to use a facility like this to implement the above.
I think rather than a text cut and paste you needed a image snip (Shift+WindowsKey+S on a Windows system)
So what? The standard functions implemented without CF use the CRID codes transmitted with the programme to identify whether a transmission is a repeat of a programme already recorded (and not record a repeat unless the original recording failed). If you are trying to compensate for broadcasters cocking up that system, either you are altogether too keen on telly, or you have to record every broadcast and then sort it out afterwards, but any lengths you might go to sort them out by predefined rules are bound to come unstuck at some point.For example, some programmes get repeated at a different time on a different day, but the times may change
Not quite that bad, more a case of Remote Scheduling finding entries you hadn't thought of being seen as a candidate to be recordedeither you are altogether too keen on telly,
A possible fly in the ointment. As discussed earlier in the thread, queued operations are run in a different order from that in which they were enqueued. Might it be possible for sweeper to queue, say, a move/copy for a recording and a decryption for the destination of that move/copy, and then for the decryption to fail by being run before the moved/copied recording has appeared? Or perhaps the existing dependency logic can be extended?...Move/Rename is currently implemented inline during the auto scan phase since they are very fast on the same filesystem but Copy and Move to another device is slow so it would be much better if such operations could be queued.
I don't think so - Items are enqued based on where they currently are not where they will be, Sweeper actions that move/rename a file stop further rule processing on that fileA possible fly in the ointment. As discussed earlier in the thread, queued operations are run in a different order from that in which they were enqueued. Might it be possible for sweeper to queue, say, a move/copy for a recording and a decryption for the destination of that move/copy, and then for the decryption to fail by being run before the moved/copied recording has appeared? Or perhaps the existing dependency logic can be extended?
That would be one of the advantages of having Copy and Move as queued actions - the priority could be set so that those actions happened last after shrinking and decryption etc had completedwould a wait until the file has been shrunk be a more beneficial option, as the file being copied is smaller
# Copy to archive
flag Shrunk !flag ODEncrypted action {queue {copy /media/[NAS-Video]}}