Employeur: Notifier les membres de l'entreprise lorsque les fiches de poste sont dépubliées. - #6830
Conversation
d1658ec to
10e3a9e
Compare
| 'Command.execute[utils/command.py]', | ||
| ]), | ||
| 'sql': ''' | ||
| SELECT "jobs_appellation"."updated_at", |
There was a problem hiding this comment.
Tu pourrais .select_related("appellation") sur JobDescription.objects pour éviter cette requête je pense (et le N+1 associé).
Et potentiellement .select_related("location") pour le {{ job_description.display_location }} du sujet.
=> Ça vaudrait ptet le coup d'avoir plus de fiches de poste avec ou sans location pour détecter les N+1 éventuels.
There was a problem hiding this comment.
J'ai mis des location différentes pour les 2 fiches de poste.
10e3a9e to
2d141e9
Compare
2d141e9 to
f5af508
Compare
c74ab63 to
1dd665b
Compare
f5af508 to
40f75f3
Compare
d6137e6 to
c5f557b
Compare
| .exclude(last_employer_update_at__gte=timezone.now() - DEACTIVATION_DELAY) | ||
| .update(is_active=False) | ||
| .select_related("company", "appellation", "location") | ||
| .prefetch_related("company__members") |
There was a problem hiding this comment.
Je me demande si on ne devrait pas mettre une BATCH_SIZE pour éviter de renvoyer trop de mail d'un coup.
J'ai l'impression qu'il y a en moyenne ~3 membres par SIAE et actuellement il y a 1670 fiches de poste ayant été mises à jour le 22 mai donc potentiellement 4500 emails (avec 2 SELECT & 1 INSERT pour chaque) seront créés dans une seule transaction vers le 20 août...
There was a problem hiding this comment.
un batch_size pour limiter le nombre de fiches de poste traitées par jour ?
| ).send() | ||
| self.logger.info(f"Deactivated {deactivated_nb} JobDescriptions") | ||
| # More than one day delay | ||
| if old_job_descriptions_qs.count() > BATCH_SIZE: |
There was a problem hiding this comment.
| if old_job_descriptions_qs.count() > BATCH_SIZE: | |
| if old_job_descriptions_qs.count() >= BATCH_SIZE: |
Plutôt, voir == même.
| self.logger.info(f"Deactivated {deactivated_nb} JobDescriptions") | ||
| # More than one day delay | ||
| if old_job_descriptions_qs.count() > BATCH_SIZE: | ||
| self.logger.warning("Too many old JobDescriptions to deactivate") |
There was a problem hiding this comment.
Oui mais en vrai personne ne verra ce log.
Et je ne pense pas qu'on souhaite être notifié sur sentry pour 3 fiches de poste en trop.
On pourrait peut-être compter le nombre de fiches de poste restantes à traiter et rajouter un autre log en erreur si le reliquat dépasse un certain seuil genre BATCH_SIZE ?
There was a problem hiding this comment.
C'est ce que je fais : je désactive jusqu'à 200 fiches, et après je compte combien il en reste (qui n'ont pas été désactivée).
Donc l'alerte arrive quand il y a plus d'un jour de retard de traitement
There was a problem hiding this comment.
Ah oui effectivement, j'ai lu trop vite 👍
Du coup, je verrai bien un logger.error pour qu'un dev aille voir s'il faut augmenter la taille du batch ou s'il y a un autre soucis.
3a07bfe to
4788e3d
Compare
We want to limit the number of sent emails.
4788e3d to
954014f
Compare
Issues attributed to commits in this pull requestThis pull request was merged and Sentry observed the following issues:
Did you find this useful? React with a 👍 or 👎 |
🤔 Pourquoi ?
https://www.notion.so/gip-inclusion/Fiches-de-poste-Mises-en-place-des-R-gles-de-gestion-de-d-publication-automatique-Notifs-emails--1915f321b6048046acd6f99596e3e917?v=18a5f321b604811bad80000cf7934cee&source=copy_link
🍰 Comment ?
🚨 À vérifier
🏝️ Comment tester ?
💻 Captures d'écran