about summary refs log tree commit diff
path: root/wqflask/wqflask/send_mail.py
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask/wqflask/send_mail.py')
-rw-r--r--wqflask/wqflask/send_mail.py39
1 files changed, 23 insertions, 16 deletions
diff --git a/wqflask/wqflask/send_mail.py b/wqflask/wqflask/send_mail.py
index be51ad0d..bf5d0dd8 100644
--- a/wqflask/wqflask/send_mail.py
+++ b/wqflask/wqflask/send_mail.py
@@ -1,6 +1,7 @@
 from __future__ import absolute_import, division, print_function
 
 import datetime
+import time
 
 import simplejson as json
 
@@ -12,34 +13,40 @@ import mailer
 def timestamp():
     ts = datetime.datetime.utcnow()
     return ts.isoformat()
-    
+
 def main():
     while True:
-        print("Waiting for message to show up in queue...")
-        msg = Redis.blpop("mail_queue")
-        
-        # Queue name is the first element, we want the second, which is the actual message
-        msg = msg[1]
-        
-        print("\nGot a msg in queue at {}: {}".format(timestamp(), msg))
-        # Todo: Truncate mail_processed when it gets to long
-        Redis.rpush("mail_processed", msg)
-        process_message(msg)
-        
+        print("I'm alive!")
+
+        # Set something so we know it's running (or at least been running recently)
+        Redis.setex("send_mail:ping", 300, time.time())
+
+        msg = Redis.blpop("mail_queue", 30)
+
+        if msg:
+            # Queue name is the first element, we want the second, which is the actual message
+            msg = msg[1]
+
+            print("\n\nGot a msg in queue at {}: {}".format(timestamp(), msg))
+            # Todo: Truncate mail_processed when it gets to long
+            Redis.rpush("mail_processed", msg)
+            process_message(msg)
+
+
 
 def process_message(msg):
     msg = json.loads(msg)
-    
+
     message = mailer.Message()
     message.From = msg['From']
     message.To = msg['To']
     message.Subject = msg['Subject']
     message.Body = msg['Body']
-    
+
     sender = mailer.Mailer('localhost')
     sender.send(message)
     print("Sent message at {}: {}\n".format(timestamp(), msg))
-  
+
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()