From e37f19ab6309a0e9a040ef15ab5e236cec0f3ad9 Mon Sep 17 00:00:00 2001 From: Joe Kemp Date: Thu, 30 Jul 2020 14:48:46 -0400 Subject: [PATCH] Log polling statement every 5 minutes to cut down on logging volume (#17) * Log polling statement every 5 minutes to cut down on logging volume --- inbox/mailsync/backends/imap/generic.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/inbox/mailsync/backends/imap/generic.py b/inbox/mailsync/backends/imap/generic.py index a6d2f45d8..3bfc98da8 100644 --- a/inbox/mailsync/backends/imap/generic.py +++ b/inbox/mailsync/backends/imap/generic.py @@ -66,6 +66,7 @@ from gevent import Greenlet import gevent import imaplib +import time from sqlalchemy import func from sqlalchemy.orm import load_only from sqlalchemy.exc import IntegrityError @@ -148,6 +149,7 @@ def __init__(self, account_id, namespace_id, folder_name, self.last_fast_refresh = None self.flags_fetch_results = {} self.conn_pool = connection_pool(self.account_id) + self.polling_logged_at = 0 self.state_handlers = { 'initial': self.initial_sync, @@ -343,7 +345,12 @@ def initial_sync(self): @retry_crispin def poll(self): log.bind(state='poll') - log.debug('polling') + # Only log every 5 minutes to cut down on the volume of + # this log statement + timestamp = time.time() + if timestamp - self.polling_logged_at > 60 * 5: + self.polling_logged_at = timestamp + log.debug('polling') self.poll_impl() return 'poll'