J'essaie de mettre en œuvre le scénario suivant avec Celery : deux files d'attente de (mêmes) tâches de longue durée, une pour la priorité "normale" et l'autre pour la priorité "idle".
Je ferais en sorte que les travailleurs surveillent les deux files d'attente et prennent d'abord les tâches de la file d'attente à priorité "normale" et si elle est vide, ils prendraient les tâches de la priorité "inactive".
Ma question est la suivante : est-il possible de garantir l'ordre dans lequel les travailleurs vérifieront leurs files d'attente de tâches ? En outre, est-ce la bonne approche pour mettre en œuvre les priorités ?
Historique : Les tâches exécutent des travaux de transcodage ffmpeg. Les tâches prioritaires "normales" sont les nouvelles vidéos qui arrivent (qui doivent être transcodées le plus rapidement possible) et les tâches prioritaires "inactives" sont celles qui retranscrivent les anciennes archives (plus de 40 000 vidéos) en fonction des paramètres de format mis à jour. Je n'ai pas plusieurs serveurs disponibles pour faire du dispatching de tâches multi-serveurs.