Buckets:
20.9 GB
673,093 files
Updated 3 months ago
Ctrl+K
| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| templates | 1 items | ||
| README.md | 3.08 kB xet | a455ea51 | |
| __init__.py | 201 Bytes xet | 9849a4af | |
| asgi.py | 226 Bytes xet | c0d6f05e | |
| celery.py | 466 Bytes xet | bdb47407 | |
| requirements.txt | 139 Bytes xet | d5c73ea3 | |
| settings.py | 3.66 kB xet | b5103a16 | |
| urls.py | 420 Bytes xet | e894d1cd | |
| wsgi.py | 226 Bytes xet | 4d4ff265 |
Simulation Numérique Server
Plateforme Django pour exécuter des méthodes de simulation numérique avec traitement asynchrone via Celery et Redis.
Architecture
simulationserver/
├── simulations/ # App Django
│ ├── models.py # Modèles (SimulationMethod, SimulationRun)
│ ├── tasks.py # Tâches Celery
│ ├── views.py # API REST
│ ├── views_views.py # Vues HTML
│ └── templates/ # Templates
├── simulationserver/ # Configuration Django
│ ├── settings.py # Settings + Celery config
│ ├── celery.py # Configuration Celery
│ └── urls.py # URLs
└── manage.py
Installation
pip install -r simulationserver/requirements.txt
Configuration
- Installer et démarrer Redis:
# Sur Debian/Ubuntu
sudo apt install redis-server
sudo systemctl start redis
# Ou avec Docker
docker run -d -p 6379:6379 redis:alpine
Démarrage
- Appliquer les migrations:
python manage.py migrate
- Initialiser les méthodes de simulation:
python manage.py init_simulation_methods
- Démarrer le serveur Django:
python manage.py runserver 0.0.0.0:8000
- Démarrer le worker Celery (dans un autre terminal):
cd /root/bookshop
celery -A simulationserver worker --loglevel=info
Utilisation
Interface Web
- Accueil: http://localhost:8000/
- Liste des méthodes: http://localhost:8000/methods/
- Créer une simulation: http://localhost:8000/run/create/
- Historique: http://localhost:8000/runs/
API REST
GET /api/methods/- Liste des méthodesGET /api/methods/{slug}/- Détail d'une méthodePOST /api/runs/- Créer et lancer une simulationGET /api/runs/{id}/- Détail d'une simulationGET /api/runs/{id}/status/- Statut d'une simulationPOST /api/runs/{id}/cancel/- Annuler une simulationGET /api/runs/recent/- Simulations récentes
Modèles
SimulationMethod
Décrit une méthode de simulation:
name: Nom de la méthodeslug: Identifiant uniquedescription: Description courtetheory: Documentation/theorieparameters_schema: Schema JSON des paramètresdefault_parameters: Paramètres par défaut
SimulationRun
Une exécution de simulation:
method: Méthode utiliséeparameters: Paramètres de la simulationstatus: PENDING, RUNNING, SUCCESS, FAILURE, CANCELLEDprogress: Pourcentage de progressionlogs: Logs d'exécutionresult_data: Résultats JSON
Tâches Celery
Les simulations sont exécutées en arrière-plan via Celery:
- Le worker lit les paramètres depuis la base
- Exécute le calcul
- Met à jour le statut et les résultats
- Les pages web font du polling pour le suivi
Ajouter une nouvelle méthode
- Ajouter la fonction de simulation dans
simulations/tasks.py - Ajouter le mapping dans
SIMULATION_METHODS - Créer un
SimulationMethodvia l'admin ouinit_simulation_methods
- Total size
- 20.9 GB
- Files
- 673,093
- Last updated
- Mar 19
- Pre-warmed CDN
- US EU US EU