diff --git a/frappe/email/queue.py b/frappe/email/queue.py index 84bb8ec959..64f1aaaf7d 100755 --- a/frappe/email/queue.py +++ b/frappe/email/queue.py @@ -254,9 +254,6 @@ def flush(from_test=False): msgprint(_("Emails are muted")) from_test = True - frappe.db.sql("""update `tabEmail Queue` set status='Expired' - where datediff(curdate(), creation) > 7 and status='Not Sent'""", auto_commit=auto_commit) - smtpserver = SMTPServer() make_cache_queue() @@ -281,9 +278,10 @@ def make_cache_queue(): order by priority desc, creation asc limit 500''', { 'now': now_datetime() }) + # reset value cache.delete_value('cache_email_queue') for e in emails: - cache.lpush('cache_email_queue', e[0]) + cache.rpush('cache_email_queue', e[0]) def send_one(email, smtpserver=None, auto_commit=True, now=False): '''Send Email Queue with given smtpserver''' @@ -350,3 +348,6 @@ def clear_outbox(): """Remove mails older than 31 days in Outbox. Called daily via scheduler.""" frappe.db.sql("""delete from `tabEmail Queue` where datediff(now(), creation) > 31""") + + frappe.db.sql("""update `tabEmail Queue` set status='Expired' + where datediff(curdate(), creation) > 7 and status='Not Sent'""") diff --git a/frappe/utils/redis_wrapper.py b/frappe/utils/redis_wrapper.py index 1a7e54c43f..ed2f3d7497 100644 --- a/frappe/utils/redis_wrapper.py +++ b/frappe/utils/redis_wrapper.py @@ -120,6 +120,9 @@ class RedisWrapper(redis.Redis): def lpush(self, key, value): super(redis.Redis, self).lpush(self.make_key(key), value) + def rpush(self, key, value): + super(redis.Redis, self).rpush(self.make_key(key), value) + def lpop(self, key): return super(redis.Redis, self).lpop(self.make_key(key)) @@ -180,3 +183,4 @@ class RedisWrapper(redis.Redis): except redis.exceptions.ConnectionError: return [] +