Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Envoyer les mails en asynchrone (spool?) #503

Closed
fjg opened this issue Aug 7, 2018 · 7 comments
Closed

Envoyer les mails en asynchrone (spool?) #503

fjg opened this issue Aug 7, 2018 · 7 comments
Assignees

Comments

@fjg
Copy link
Contributor

fjg commented Aug 7, 2018

L'idée est de pouvoir gérer de la reprise sur erreur en cas d'échec de l'envoi. Est-ce que le spool est une solution ? Sinon en dans le monde rails il existe des frameworks de job (active_job/sidekiq/redis).

@fjg fjg assigned jpic Aug 7, 2018
@fjg fjg added the enhancement label Aug 7, 2018
@jpic
Copy link
Contributor

jpic commented Aug 7, 2018 via email

@jpic
Copy link
Contributor

jpic commented Aug 7, 2018 via email

@notmoebius
Copy link
Contributor

Je reformule pour voir si j'ai bien compris: les mécanisme de spools/crons sont en place et il existe des solutions différentes en fonction de choix définis. Tu préconises django-uwsgi-spooler.

Je suis ok pour aller dans ce sens si cela permet de solutionner une "panne"/"bug" de mailjet pour l'envoi de mail.

Est-ce mature pour mettre sur notre production ? Est-ce que cela peut répondre à la problématique soulever lors de notre journée d'hier ?

@notmoebius notmoebius added this to the extension_occitanie milestone Aug 14, 2018
@jpic
Copy link
Contributor

jpic commented Aug 20, 2018

Django et uwsgi sont déjà en production. Je parle juste d'une poignée de modèles Django qu'on a déjà en production, avec une interface de visualisation autogénérée crudlfa+ qu'on a déjà en production, pour des jobs uwsgi qu'on a déjà en production.

Mais si vous voulez, on peut ramener de la grosse stack pour faire la même chose. On peut ramener un rabbitmq, django-celery, c'est hyper mature, mais est-ce déprécié par django-q ?

Si on met django-q, qui gère ses taches avec des modèles, avec une task queue externe, c'est bien aussi.

Mais dans ce cas pourquoi ne pas mettre django-uwsgi-spooler qui fait la même chose en utilisant la task queue qu'on a déjà ?

The cheapest, fastest, and most reliable components are those that aren’t there.
— Gordon Bell

Cela dit, vous pouvez très bien me commander les technologies que vous voulez, le cout ne sera pas le même c'est tout, car j'essaye juste de maitriser la complexité de votre stack, mais si vous souhaitez la complexifier d'avantage c'est votre décision.

One of my most productive days was throwing away 1000 lines of code.
— Ken Thompson

@fjg
Copy link
Contributor Author

fjg commented Aug 21, 2018

OK pour la solution en place actuellement spooler pour l'envoi de tous les mails en asynchrone avec reprise sur erreur (jusqu'à succès).
A ce stade, pas besoin d'interface graphique.

@jpic
Copy link
Contributor

jpic commented Aug 24, 2018

Done #528 mais le code c'est un peu spagetti-o, je vais voir si je peux faire qq chose ce week end mais en attendant ca marche pour moi et c'est en route pour staging au moment ou je vous parle.

Merci de valider, pour fermer l'issue:

  • mail de contact sur /contact
  • mail de reception de demande sur /demande
  • mail a l'assure lors de la validation de la demande
  • mail d'archivage liquidation lors de la validation de demande
  • mail de rejet

Bon week ;)

@jpic
Copy link
Contributor

jpic commented Aug 28, 2018

Followup #533 please ;)

@jpic jpic closed this as completed Aug 28, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants