Sto tentando di implementare uno scenario seguente con Celery: due code di (stesse) attività a esecuzione prolungata, una per "normale" e la altro per priorità "inattiva".Implementazione di code di priorità "inattiva" e "normale" per attività a esecuzione prolungata in Celery
Farei in modo che i lavoratori controllino entrambe le code e prendano prima le attività dalla coda di priorità "normale" e, se è vuota, prenderebbero i compiti dalla priorità "inattiva".
La mia domanda è: è possibile garantire l'ordine in cui i lavoratori controlleranno le loro code di incarichi? Inoltre, questo è l'approccio giusto per implementare le priorità?
Sfondo: le attività eseguono processi di transcodifica ffmpeg. Le "normali" priorità sarebbero i nuovi video in arrivo (che devono essere trascodificati al più presto) e la priorità "idle" sarebbe il compito di ricodificare il vecchio archivio (40.000+ video) in impostazioni di formato aggiornate. Non ho molti server disponibili per l'invio di attività multi-server.
Nulla di ciò è utile. So già che RabbitMQ non supporta le priorità, ecco perché sto facendo una soluzione. – Mavrik