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

Correctif de la mise à jour des scores de la recherche employeur #5314

Merged
merged 1 commit into from
Jan 6, 2025

Conversation

dejafait
Copy link
Contributor

@dejafait dejafait commented Dec 26, 2024

🤔 Pourquoi ?

En manipulant le script en local pour creuser l'évolution en cours de la recherche employeur, j'ai réalisé qu'on avait un gros souci avec l'algorithme actuel. Des entreprises non pertinentes (grand nombre de candidatures) se retrouvent en toute première page en prod et accumulent des candidatures. Probablement car quand leur nouveau score devient None (si elle n'ont plus aucune fiche de poste après en avoir eu) ce None n'est jamais propagé en db et l'ancien score reste ad vitam eternam.

Voir les exemples d'entreprises non pertinentes dans https://www.notion.so/plateforme-inclusion/Tri-des-employeurs-fiches-de-postes-137e8fa5c35b804b95c7f05f68f69b81

🍰 Comment ?

J'ai commencé par rajouter du test cassant (TDD). Ca repasse au vert quand j'enlève toute la clause exclude. Je propose ici une solution moins radicale pour continuer à ne mettre à jour que ce qui doit l'être, mais j'avoue que je ne comprend pas complètement ni la cause, ni ma solution.

@dejafait dejafait force-pushed the dejafait/fix_update_companies_job_app_score branch from b0e3482 to d281681 Compare December 26, 2024 16:39
@dejafait dejafait self-assigned this Dec 26, 2024
@dejafait dejafait requested a review from leo-naeka December 26, 2024 16:53
Copy link
Contributor

@xavfernandez xavfernandez left a comment

Choose a reason for hiding this comment

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

Bien vu 👍

L'explication vient du fait que Q(job_app_score=F("computed_job_app_score")) se traduit en SQL en job_app_score=<gros CASE calculant computed_job_app_score> AND job_app_score IS NOT NULL mais autorise quand même la comparaison quand <gros CASE calculant computed_job_app_score> vaut NULL.
Donc ton fix évite bien la comparaison avec NULL qui empêche actuellement la ligne d'être mis à jour:

itou=# select count(*) from companies_company where job_app_score is null;
 count 
-------
  3853
(1 row)

itou=# select count(*) from companies_company where NOT job_app_score=null;
 count 
-------
     0
(1 row)

itou=# select count(*) from companies_company where job_app_score=null;
 count 
-------
     0
(1 row)

@dejafait dejafait added tech and removed modifié labels Jan 6, 2025
@dejafait dejafait changed the title Tech : Correctif de la mise à jour des scores de la recherche employeur Correctif de la mise à jour des scores de la recherche employeur Jan 6, 2025
@dejafait dejafait added modifié and removed tech labels Jan 6, 2025
@dejafait dejafait added this pull request to the merge queue Jan 6, 2025
Merged via the queue into master with commit a4002e9 Jan 6, 2025
23 of 24 checks passed
@dejafait dejafait deleted the dejafait/fix_update_companies_job_app_score branch January 6, 2025 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants