Je tente d'implémenter un scénario suivant avec Celery: deux files d'attente de (même) tâches longues, une pour "normal" et la autre pour la priorité "inactive".Implémentation des files d'attente prioritaires "inactives" et "normales" pour les tâches longues dans Celery
Je ferais en sorte que les travailleurs surveillent les files d'attente et prennent d'abord les tâches de la file d'attente prioritaire "normale" et si elles sont vides, elles prendraient des tâches de la priorité "inactive".
Ma question est: Est-il possible de garantir l'ordre dans lequel les travailleurs vont vérifier leurs tâches files d'attente? Aussi, est-ce la bonne approche pour la mise en œuvre des priorités? Contexte: Les tâches exécutent des tâches de transcodage ffmpeg. Les priorités "normales" sont les nouvelles vidéos arrivant (qui doivent être transcodées le plus vite possible) et la priorité "inactive" est la tâche de re-transcoder les anciennes archives (plus de 40.000 vidéos) en paramètres de format mis à jour. Je n'ai pas plusieurs serveurs disponibles pour effectuer une répartition de tâches multi-serveur.
Rien de tout cela n'est utile. Je sais déjà que RabbitMQ ne supporte pas les priorités, c'est pourquoi je fais une solution de contournement. – Mavrik