Kan ik de verwerkingsvolgorde van gekoppelde taken regelen

Ik heb mijn setup de laatste tijd aangepast en uiteindelijk alles opgesplitst/samengevoegd in 3 taken. Taak 1 is gekoppeld aan het HVEC MP4-profiel en verzorgt mijn cuts/conversies, maar doet geen hernoeming of metadata-verwerking.
Taak 1 zet het resultaat in een andere map waar ik één taak heb die tv-series in de gaten houdt en nog een taak die films controleert. Beide taken doen aangepaste hernoeming en metadata-opzoeking, en geen conversie.

Om het simpel te houden: stel dat Taak 1 het bestand eerst verwerkt en daarna Taak 2 het overneemt en afmaakt.
Ik heb Taak 2 bovenaan laten invoegen, maar als ik een heleboel items tegelijk toevoeg, wil ik dat ze zo worden afgehandeld:
Taak 1
Taak 2
Taak 1
Taak 2, enz.

Omdat alle items meteen worden binnengehaald, verloopt het nu zo:
Taak 1 – Bestand 1
Taak 1 – Bestand 2
Taak 2 – Bestand 1
Taak 1 – Bestand 3
Taak 2 – Bestand 2

Ik probeer een manier te vinden om een vertraging in te bouwen voordat Taak 1 start, zodat Taak 2 kans krijgt het nieuwe bestand bovenaan te zien.
Hopelijk is het duidelijk, maar het punt is dat ik niet wil wachten tot bestand 2 de lange conversie heeft voltooid voordat bestand 1 klaar is.
Ik dacht dat als ik na elke taak een soort vertraging kon invoegen, de scan tijd krijgt om het nieuwe bestand te ontdekken, maar het enige waar ik aan kon denken was een vertraging in de post-processing-taak en dat lijkt niet te werken.

Je kunt de Task1-actie (transcodering) gewoon in beide hernoemtaken rollen. Dat is wat ik doe.

Ik heb aparte taken voor Films, Series, Sport en Specials (de 4 typen die MCEBuddy kan detecteren), elk met verschillende hernoem-/doel mappen.

Tip: Controleer Specials, want shows die niet als film of serie herkend worden, belanden daar. Ze zijn meestal te vinden waar de gidsgegevens vaag zijn of alleen de showtitel bevatten. Sommige subkanalen met oude herhalingen doen dit, evenals PBS-shows die meestal niet in TheTVDB of MovieDB staan.

Je moet ervoor zorgen dat slechts één taak ooit voor het invoerbestand wordt geactiveerd.

Naast de type-selectie heb ik kanaalfilters voor SD- en HD-kanalen die verschillende compressie-/kwaliteitswaarden hebben.

Ik heb daarover getwijfeld, maar ik heb de hernoemacties gescheiden (ook een andere invoermap) zodat ik af en toe bestanden direct daar kan dumpen, zodat het alleen die hernoemt en niet probeert ze te transcoderen.
Ik zou een aparte kopie kunnen bijhouden, maar dan moet ik twee paren synchroon houden. Dus twee taken voor tv (één met transcoding) die dezelfde selectiefilters en dezelfde metadata-correctieregels nodig hebben.
Ik heb ook postprocessing-triggers die ik op meerdere plaatsen moet onderhouden de volgende keer dat ik upgrade, omdat die niet worden meegenomen. Postprocessing betekent in mijn geval aangepast hernoemen met gegevens die beschikbaar zijn voor de postprocessing, maar niet voor de naamgevingsregels.

Ik denk niet dat er een manier is om te doen wat je wilt met je huidige opzet. De directory watchers werken parallel en voegen gewoon taken toe aan de wachtrijen voor elke actie. De taken zelf draaien ook allemaal parallel, in de zin dat één taak geen informatie heeft over andere taken. Dus de enige manier om dingen te “ketenen” is precies zoals je het hebt gedaan — een watcher op Map1 activeert Taak1 en een watcher op Map2 activeert Taak2, en het laatste wat Taak1 doet is het bestand uitvoeren naar Map2.

Je zult ofwel één bestand tegelijk in de startmap moeten plaatsen en voorkomen dat er nieuwe bestanden worden toegevoegd totdat het huidige bestand volledig is verwerkt door de laatste taak, of je kunt aparte mappen instellen voor elke “stroom” met aparte watchers en taken die voor elke watcher worden gekopieerd. Dat klinkt als een rommelige boel om bij te houden. Mijn suggestie is daarom om een batch “scheduler” te gebruiken die zelf je “echte” invoermap in de gaten houdt, en bestanden één voor één verplaatst naar de MCE “startmap”, en wacht totdat het bestand volledig is verwerkt door de taken. Dat wordt lastig als er ooit een fout optreedt in de taken en je moet 1) de fout detecteren op elk punt in de verwerking, en 2) bepalen wat het herstel- en herstartproces is voor dat bestand.

MCE Buddy is simpelweg niet ontworpen voor een enkele lineaire workflow — zeker niet met multi-core CPU’s en GPU’s en meerdere MCE Buddy engines. Die lineaire workflow zal dus door jou buiten MCE Buddy om beheerd moeten worden, denk ik. Het is zeker mogelijk met markeringsbestanden om je scheduler te laten “weten” waar een bestand zich bevindt en in welke staat MCE Buddy verkeert, door dezelfde mappen te volgen die MCE Buddy gebruikt en markeringsbestanden toe te voegen in je post-processing om je externe scheduler op de hoogte te brengen van de status.

Het is misschien iets dat je kunt uitbesteden aan een freelance programmeur of een informaticastudent als project. Misschien iets voor een middelbare school- of universiteitsstudent die denkt als een ingenieur en eindtoestanden begrijpt. In wezen gebruik je lege bestanden (ze bestaan of niet) als markeringen om de staat aan te geven en op te slaan, met het bestandssysteem als je “geheugen” voor de eindtoestand. Dat is waarschijnlijk te moeilijk voor een typische middelbare scholier in een “computers en/of programmeren”-vak, maar je weet het niet tot je het probeert. Voor een freelance programmeur zijn er “gig”-sites die programmeurs verbinden met mensen die iemand nodig hebben om iets te automatiseren.