Spaces:
Running
Running
| # Actualisation hebdomadaire de la base | |
| La source est le dataset public | |
| [`cfahlgren1/hub-stats`](https://huggingface.co/datasets/cfahlgren1/hub-stats). | |
| Le pipeline télécharge ses configurations `models` et `datasets`, reconstruit | |
| hors ligne une base Neo4j, crée `neo4j.dump`, puis publie ce dump et son fichier | |
| `database_metadata.json` dans le dataset privé configuré. | |
| Le Space continue à utiliser le dump précédent pendant toute la reconstruction. | |
| Il ne voit la nouvelle base qu'après un redémarrage. La date affichée dans | |
| l'interface vient de `database_metadata.json`; elle n'est donc mise à jour que | |
| si la reconstruction et la publication ont réussi. | |
| ## Test sans modifier la production | |
| Le dépôt de dumps accepte une branche de test : | |
| ```bash | |
| export HF_TOKEN=hf_... | |
| bash database_refresh/run_weekly_refresh.sh \ | |
| --dump-revision weekly-refresh | |
| ``` | |
| Pour un test rapide du prétraitement : | |
| ```bash | |
| bash database_refresh/run_weekly_refresh.sh \ | |
| --max-models 10000 \ | |
| --max-datasets 10000 \ | |
| --prepare-only | |
| ``` | |
| ## Job Hugging Face hebdomadaire | |
| Le Job peut monter en lecture la branche du Space qui contient ce script et | |
| utiliser l'image Neo4j correspondant exactement à celle de l'application : | |
| Le compte qui crée le Job doit avoir au minimum le rôle `write` dans | |
| l'organisation CNIL. Le token utilisé par la CLI doit explicitement autoriser | |
| `Start and manage Jobs`. Puisque le même token est transmis au Job avec | |
| `--secrets HF_TOKEN`, il doit également pouvoir écrire dans | |
| `cnil/genmod-dump-neo4j` et redémarrer le Space ciblé. L'option | |
| `--namespace cnil` est indispensable pour créer et facturer le Job sous | |
| l'organisation plutôt que sous le compte personnel. | |
| ```bash | |
| hf jobs scheduled run "@weekly" \ | |
| --namespace cnil \ | |
| --name genmod-weekly-database-refresh \ | |
| --flavor cpu-basic \ | |
| --timeout 12h \ | |
| --no-concurrency \ | |
| --secrets HF_TOKEN \ | |
| --env NEO4J_DUMP_REPO=cnil/genmod-dump-neo4j \ | |
| --env NEO4J_DUMP_REVISION=weekly-refresh \ | |
| --env SPACES_TO_RESTART=cnil/genmod-faster \ | |
| --volume hf://spaces/cnil/genmod@refresh-hub-database:/workspace:ro \ | |
| neo4j:2025.09.0-community \ | |
| bash /workspace/database_refresh/run_weekly_refresh.sh | |
| ``` | |
| La révision `weekly-refresh` permet de valider le nouveau dump avec | |
| `genmod-faster` sans remplacer le dump de production. Après validation, il | |
| suffit de programmer le même Job avec `NEO4J_DUMP_REVISION=main`. | |
| Pour la production, `SPACES_TO_RESTART` doit alors être remplacé par | |
| `cnil/genmod`. | |
| Les Hugging Face Jobs nécessitent un solde positif et sont facturés uniquement | |
| pendant leur exécution. Un Space CPU Basic ne constitue pas à lui seul un cron | |
| fiable : il peut être mis en veille et son disque est éphémère. | |