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:
@@ -136,13 +136,12 @@ 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 au demarrage ({taille_spool()} en attente)")
|
||||||
log.info(f"Spool: tentative d'envoi ({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)
|
|
||||||
|
|
||||||
|
|
||||||
FICHIER_EMAILS = RACINE / "data" / "emails_history.json"
|
FICHIER_EMAILS = RACINE / "data" / "emails_history.json"
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user