Improve output of wait_for_email_transfer
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Tue, 12 Feb 2019 10:21:46 +0000 (11:21 +0100)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Tue, 12 Feb 2019 10:21:46 +0000 (11:21 +0100)
Most of all, warn if timeout was reached without finishing email transfer

src/arnied_wrapper.py

index d59891a..9a39d62 100644 (file)
@@ -312,12 +312,14 @@ def wait_for_email_transfer(timeout=300, vm=None):
             # Retrigger mail queue in case something is deferred
             # by an amavisd-new reconfiguration
             run_cmd(cmd='postqueue -f', vm=vm)
-            log.info('Waiting for SMTP queue to be empty (%i/%i sec)',
+            log.info('Waiting for SMTP queue to get empty (%i/%i s)',
                      i, timeout)
         if not run_cmd(cmd='postqueue -j', vm=vm).stdout:
-            break
+            log.debug('SMTP queue is empty')
+            return
         time.sleep(1)
-    log.debug('SMTP queue is empty')
+    log.warning('Timeout reached but SMTP queue still not empty after {} s'
+                .format(timeout))
 
 
 def schedule(program, exec_time=0, optional_args="", vm=None):