X-Git-Url: https://git.llucax.com/software/sercom-old.git/blobdiff_plain/196cbb9fc2731b208965d8f775769d4d07ec4988..2865b092c966b47b21285144500ed9465d2f57c1:/src/sc_deliver?ds=sidebyside diff --git a/src/sc_deliver b/src/sc_deliver index 3979a86..cd4bc00 100755 --- a/src/sc_deliver +++ b/src/sc_deliver @@ -30,9 +30,17 @@ a su intento %d, recibido el %s. mail['Return-Path'] = conf.get('mail', 'admin') mail['X-Mailer'] = 'sercom ' + sercom.VERSION mail['X-Priority'] = '5' - smtp = smtplib.SMTP(conf.get('mail', 'smtp')) - smtp.sendmail(mail['From'], mail['To'], mail.as_string()) - smtp.close() + sent = False + while not sent: + try: + smtp = smtplib.SMTP(conf.get('mail', 'smtp')) + smtp.sendmail(mail['From'], mail['To'], mail.as_string()) + smtp.close() + sent = True + except smtplib.SMTPException, e: + log.warning('No se pudo enviar el mail a %s (%s)', + inscripto.padron, inscripto.mail) + time.sleep(1) # Inicializo conf, conn, log = sercom.init('deliver') @@ -46,7 +54,11 @@ intervalo = float(conf.get('general', 'intervalo')) # Busco entregas pendientes for entrega in Entrega.getPendientes(conn): + log.debug('Hay una entrega pendiente: %d.%d.%d', entrega.curso.curso, + entrega.nroEjercicio, entrega.entrega) while Intento.faltaCompilar(entrega, conn): + log.debug('Esperando que termine de compilar, faltan %d intentos', + Intento.faltaCompilar(entrega, conn)) time.sleep(intervalo) log.info('Procesando entrega %d.%d.%d', entrega.curso.curso, entrega.nroEjercicio, entrega.entrega) @@ -77,3 +89,4 @@ for entrega in Entrega.getPendientes(conn): log.debug('Entrega finalizada') entrega.finalizada = True +log.info('Finalizado')