Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add job workers #2155

Merged
merged 1 commit into from
Mar 7, 2022
Merged

Add job workers #2155

merged 1 commit into from
Mar 7, 2022

Conversation

n-b
Copy link
Contributor

@n-b n-b commented Feb 14, 2022

refs #2154

~~à tester sur la review app: ~~
* est-ce que les jobs sont bien dépilés en parallèle?
* est-ce que ça consomme plus de mémoire?

Par ailleurs, il y a de mémoire un problème pour l’accès au dashboard de super_admin/delayed_jobs sur les review apps, il va peut-être falloir régler ça en premier.

Edit: je n’ai pas réussi à faire marcher delayed_job avec plusieurs workers; une autre piste sera de faire tourner plusieurs instances scalingo, chacune par queue. En attendant, on peut aussi faire tourner plusieurs instances de jobs, tout simplement.

Ce n’est pas (plus) ce que tente de faire cette PR: j’ajoute simplement deux autres noms de queues, :sms_low et :mailers_low, avec une moindre priorité. En principe, ça devrait permettre aux autres jobs de ne pas attendre 20 minutes, le matin à 20 heures pendant que les notifications de rappel sont envoyées.

AVANT LA REVUE

  • Préparer des captures de l’interface avant et après
  • Nettoyer les commits pour faciliter la relecture
  • Supprimer les éventuels logs de test et le code mort

REVUE

  • Relecture du code
  • Test sur la review app / en local

@n-b n-b force-pushed the more-jobs-queues branch from 15d52ac to 4ce4274 Compare February 15, 2022 10:13
@n-b n-b closed this Feb 15, 2022
@n-b n-b reopened this Feb 15, 2022
@n-b n-b closed this Feb 15, 2022
@n-b n-b reopened this Feb 15, 2022
@n-b n-b closed this Feb 15, 2022
@n-b n-b reopened this Feb 15, 2022
@n-b n-b closed this Feb 15, 2022
@n-b n-b reopened this Feb 15, 2022
@n-b n-b marked this pull request as draft February 17, 2022 09:47
@n-b n-b force-pushed the more-jobs-queues branch 5 times, most recently from 2d90dfa to 1b1e06c Compare March 1, 2022 15:03
@n-b n-b marked this pull request as ready for review March 1, 2022 15:04
@n-b n-b requested a review from yaf March 1, 2022 15:12
Copy link

@yaf yaf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça me semble un bon premier pas.

Merci !

@n-b
Copy link
Contributor Author

n-b commented Mar 4, 2022

Remarque en passant, j’ai réalisé pourquoi ça ne fonctionnait pas quand j’essayais d’utiliser une commande avec plusieurs pools, de ce genre delayed_job --pool=mailers:sms:2 --pool=webhooks --pool*:2 start. Pour gérer les workers multiples, delayed_job doit être lancé avec start (et pas run), et crée un certains nombre de process fils, puis quitte le process parent. (il fait des daemons). Comme le process initial est quitté, du point de vue du container, la tâche est terminée et le container est alors éteint.

Il y a des gens qui se sont pencher sur le problème (qui ont fait un fork de delayed_job pour… faire des forks). Ça a l’air à peu près maintenu, ça vaut sans doute le coût d’essayer.

Autre piste, on peut aussi regarder s’il y a des options de configuration quand on appelle rake jobs:work au lieu de lancer delayed_job depuis le Procfile.

En attendant, on peut déjà merger comme ça, affiner les priorités ne peut pas faire de mal.

@n-b n-b force-pushed the more-jobs-queues branch from 1b1e06c to fdcef71 Compare March 7, 2022 14:41
@n-b n-b merged commit eb9de96 into production Mar 7, 2022
@n-b n-b deleted the more-jobs-queues branch March 7, 2022 15:47
@johnnyshields
Copy link

Je suis le mainteneur du fork de Delayed Job. Il fonctionne bien en production pour des milliards des jobs, je recommande de l'utiliser. SVP également indiquer aux responsables de Delayed Job que vous aimeriez qu'ils fusionner le PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants