Bug #1222
crash lors d'email dans un cron
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
16 janvier 2012
Echéance:
% réalisé:
90%
Temps estimé:
Patch proposed:
Planning:
Description
Lorsqu'on est en mode cron, get_response() ne fonctionne pas (logique) et on ne peut donc pas ajouter des "after jobs" pour l'envoi des mails (cf trace ci dessous).
perform_items <wcs.workflows.SendmailWorkflowStatusItem instance at 0x18c9368> [2012-01-16 16:54:08] exception caught Exception: type = '<type 'exceptions.AttributeError'>', value = ''NoneType' object has no attribute 'response'' Stack trace (most recent call first): File "/usr/lib/pymodules/python2.7/quixote/publish.py", line 317, in get_response 315 316 def get_response(): > 317 return _publisher.get_request().response 318 319 def get_field(name, default=None): File "/home/thomas/dev/au-quoditien/wcs/wcs/qommon/emails.py", line 332, in email 330 s.close() 331 else: > 332 get_response().add_after_job('sending email', 333 EmailToSend(msg_from, rcpts, msg.as_string()), 334 fire_and_forget = True) locals: attachments = () encoding = 'utf-8' multipart = None hide_recipients = False
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Thomas Noël il y a plus de 12 ans
- Statut changé de Nouveau à En cours
Un contournement proposé : quand il n'y a pas de request (et donc pas de réponse associée), on passe dans le mode "not fire_and_forget" pour les mails. A faire au debut de qommon.emails.email() ... ?
Mis à jour par Thomas Noël il y a plus de 12 ans
- Fichier wcs-cron-email.diff wcs-cron-email.diff ajouté
- Statut changé de En cours à Solution déployée
Et voici un patch.
Mis à jour par Thomas Noël il y a plus de 12 ans
- % réalisé changé de 0 à 90
Appliqué par commit r2236.
emails: don't delay the handling when there is no request (cronjob)
fix #1222