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
Suppression des ressources communautaires orphelines depuis l'application #1685
Conversation
this the response we get after a "delete"
"use Datagouvfr.Client" was under post_process defintion, because post_process function is also defined in that module, but with different arguments. We give it a different name, and pipe the result of decode_body into post_process
apps/transport/test/transport_web/controllers/backoffice_controller_test.exs
Show resolved
Hide resolved
@fchabouis je prends la suite pour tester en local et essayer de voir comment on peut lancer ça en "one shot" facilement sur CleverCloud, je vais les contacter. |
@thbar merci d'avoir cherché comment se connecter à l'instance en ssh, ça marche impeccablement ! J'ai pu lancer la tâche sur prochainement, j'ai eu des echecs de suppression sur certaines ressources avec des réponses Internal Server Error côté data.gouv.fr, mais ça arrive que sur demo.data.gouv on ait ce genre de choses. On peut déployer sans merger et aller lancer la tâche a la main pour vérifier que ça se passe mieux sur l'API de prod de data.gouv.fr, qu'en penses tu ? |
@fchabouis beau boulot ; oui c'est une bonne idée ! On peut caler ça demain matin à un moment je pense. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test fait par @fchabouis sur le staging, ça semble OK !
import Transport.CommunityResourcesCleaner | ||
alias DB.Repo | ||
|
||
@transport_publisher_label Application.get_env(:transport, :datagouvfr_transport_publisher_label) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attention ces références en tant que module ça va marcher dans les "exs" mais la prochaine version de Credo va bloquer ces appels. Il faut remplacer par quelque chose qui n'est pas évalué à la compilation.
closes #1525
Contexte
Pour le moment, le travail de suppression des ressources communautaires dont la ressources parente n'existe plus est assuré par le code (python) du repo https://github.com/etalab/gtfs_converter.
Un cron est lancé depuis le fichier scheduler.py, via un appel journalier à la fonction
cleanup_old_resources
.Ce code est déployé sur un serveur différent de celui du site, hébergé par Hetzner.
Actuellement, ce code n'est plus maintenu et le lancement périodique du ménage ne se fait plus, ce qui résulte en l'accumulation sur certains jeux de données de ressources communautaires publiés par le PAN mais obsolètes.
Le but de la PR
Est de rapatrier ce code de ménage des ressources dans la code base principale du projet, afin de l'avoir sous les yeux et de pouvoir plus facilement surveiller son bon fonctionnement.
Contenu de la PR
Pour faire bien les choses, faut il également écrire un test qui fasse un appel réel à l'API de datagouvfr, qui ajoute une ressource communautaire puis qui l'a supprime ? Où en étions nous dans la gestion des tests "external" @thbar ?
Remarque
Lorsqu'une ressource communautaire générée suite au changement de hash de la ressource parente, le code python actuel fait un update de la ressource communautaire et n'en créé pas une nouvelle. Il n'y a donc pas besoin de supprimer la ressource communautaire avant d'en créer une dans ce cas.