L'alerte immédiate de stock bas inclut maintenant un résumé de tous les articles actuellement sous leur seuil, pas seulement celui qui l'a déclenchée. Ajout d'un second email, planifié via une expression cron (RESUME_STOCK_CRON, APScheduler intégré à l'app — pas de cron système à configurer) : stock bas en tête, puis le reste du stock groupé par catégorie. scripts/envoyer_resume_stock.py permet de le déclencher manuellement, ou de brancher l'envoi sur un cron système à la place.
26 lines
872 B
Python
26 lines
872 B
Python
"""
|
|
Déclenche manuellement l'envoi de l'email récapitulatif de stock (stock
|
|
bas en premier, puis le reste du stock groupé par catégorie), sans
|
|
attendre la prochaine exécution planifiée. Utile pour tester le contenu
|
|
de l'email localement, ou pour brancher l'envoi sur un cron système /
|
|
Planificateur de tâches Windows au lieu du planificateur intégré à l'app
|
|
(voir app/scheduler.py pour le compromis entre les deux approches).
|
|
|
|
Usage : python scripts/envoyer_resume_stock.py
|
|
"""
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
|
|
|
|
from sqlmodel import Session # noqa: E402
|
|
|
|
from app.database import engine, init_db # noqa: E402
|
|
from app.email_alerts import envoyer_resume_stock # noqa: E402
|
|
|
|
if __name__ == "__main__":
|
|
init_db()
|
|
with Session(engine) as session:
|
|
envoyer_resume_stock(session)
|