Je lance mon application rails à l'aide d'un Docker. Les travaux retardés sont maintenant traités par un seul travailleur qui s'exécute dans un contariner distinct appelé worker
et il s'exécute avec une commande bundle exec rake jobs:work
.Rails travail retardé et docker: ajouter plus de travailleurs
J'ai plusieurs types de travaux que je voudrais déplacer dans une file d'attente séparée et créer un travailleur distinct pour cela ou au moins avoir deux travailleurs pour les tâches de processus. J'ai testé mon conteneur de travail avec env QUEUE=default_queue bundle exec rake job:work && env QUEUE=another_queue bundle exec rake job:work
bit qui n'a aucun sens. Il n'échoue pas, il commence mais les travaux ne sont pas traités. Y a-t-il un moyen d'avoir des travailleurs séparés dans un conteneur? Et est-ce correct? Ou devrais-je créer un conteneur séparé pour chaque travailleur que je voudrais créer?
Merci d'avance!
Merci pour votre réponse, je vais essayer bientôt. Pour autant que je ne sois pas un utilisateur averti de Rails, pouvez-vous s'il vous plait dire (ou donner un lien vers) quelle est la différence entre exécuter 'rake jobs: work' et' script/delayed_job ..'? De plus, dans mon projet, il n'y a pas de dossier 'script'. Je ne l'ai pas fait moi-même à partir de zéro, je viens de soutenir le projet, donc je ne sais pas pourquoi c'est si ... – Ngoral
J'ai édité ma réponse pour ajouter la différence entre les travaux rake: travail et le script delayed_job. Aussi ajouté que pour les rails 4, il devrait être 'bin/delayed_job' au lieu de' script/delayed_job'. – Reub
merci beaucoup! maintenant je vois tout ça. Et ai-je raison: dans le cas où 'rake' l'exécute au premier plan, nous ne pouvons pas exécuter plusieurs travaux comme pour' bin/d_j' en utilisant '-n'? Je ne veux pas utiliser _exactly_ '-n' mais smth similaire à. – Ngoral