Spool email : envoi au demarrage uniquement, message 'dans la semaine'

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 19:34:26 +02:00
parent e47ff04933
commit 9bdad23cf5
3 changed files with 9 additions and 10 deletions

View File

@@ -136,12 +136,11 @@ def traiter_spool() -> int:
return envoyes return envoyes
async def tache_spool_periodique(): async def tache_spool_demarrage():
"""Tache asyncio qui vide le spool toutes les 60s.""" """Tente de vider le spool une seule fois au demarrage du serveur."""
while True: await asyncio.sleep(10)
await asyncio.sleep(60)
if taille_spool() > 0: if taille_spool() > 0:
log.info(f"Spool: tentative d'envoi ({taille_spool()} en attente)") log.info(f"Spool: tentative d'envoi au demarrage ({taille_spool()} en attente)")
await asyncio.get_event_loop().run_in_executor(None, traiter_spool) await asyncio.get_event_loop().run_in_executor(None, traiter_spool)

View File

@@ -28,7 +28,7 @@ from backend.effects import appliquer_filtre, appliquer_overlay, chroma_key, lis
from backend.collage import creer_strip, creer_collage from backend.collage import creer_strip, creer_collage
from backend.destinations import distribuer_photo, detecter_usb, compteur_restant, reset_compteur, recuperer_booth_password from backend.destinations import distribuer_photo, detecter_usb, compteur_restant, reset_compteur, recuperer_booth_password
from backend.printer import lister_imprimantes, imprimer from backend.printer import lister_imprimantes, imprimer
from backend.mailer import envoyer_photo, charger_emails_historique, effacer_emails_historique, ajouter_au_spool, taille_spool, tache_spool_periodique from backend.mailer import envoyer_photo, charger_emails_historique, effacer_emails_historique, ajouter_au_spool, taille_spool, tache_spool_demarrage
from backend.qrcode_gen import generer_qr, qr_galerie from backend.qrcode_gen import generer_qr, qr_galerie
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(name)s] %(message)s") logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(name)s] %(message)s")
@@ -187,7 +187,7 @@ async def lifespan(app: FastAPI):
t.start() t.start()
task_dslr = asyncio.create_task(surveiller_dslr()) task_dslr = asyncio.create_task(surveiller_dslr())
task_push = asyncio.create_task(_pusher_preview()) task_push = asyncio.create_task(_pusher_preview())
task_spool = asyncio.create_task(tache_spool_periodique()) task_spool = asyncio.create_task(tache_spool_demarrage())
yield yield
task_dslr.cancel() task_dslr.cancel()
task_push.cancel() task_push.cancel()

View File

@@ -143,7 +143,7 @@ async function envoyerEmail() {
afficherStatut('Envoi en cours...', 'succes'); afficherStatut('Envoi en cours...', 'succes');
const resultat = await apiPost('/api/email', { email, photo: photoFinale }); const resultat = await apiPost('/api/email', { email, photo: photoFinale });
if (resultat.spool) { if (resultat.spool) {
afficherStatut(`Email en file d'attente (${resultat.en_attente}) — sera envoyé au retour de la connexion`, 'succes'); afficherStatut('Vous recevrez votre photo par email dans la semaine', 'succes');
} else if (resultat.succes) { } else if (resultat.succes) {
afficherStatut('Email envoyé !', 'succes'); afficherStatut('Email envoyé !', 'succes');
} else { } else {