diff --git a/chatmaild/src/chatmaild/metadata.py b/chatmaild/src/chatmaild/metadata.py index 74be624..e3f7d7f 100644 --- a/chatmaild/src/chatmaild/metadata.py +++ b/chatmaild/src/chatmaild/metadata.py @@ -127,10 +127,10 @@ def main(): logging.error("vmail dir does not exist: %r", vmail_dir) return 1 - notification_dir = vmail_dir / "pending_notifications" - notification_dir.mkdir(exist_ok=True) + queue_dir = vmail_dir / "pending_notifications" + queue_dir.mkdir(exist_ok=True) metadata = Metadata(vmail_dir) - notifier = Notifier(notification_dir) + notifier = Notifier(queue_dir) notifier.start_notification_threads(metadata.remove_token_from_addr) class Handler(StreamRequestHandler): diff --git a/chatmaild/src/chatmaild/notifier.py b/chatmaild/src/chatmaild/notifier.py index 52b956a..849d70a 100644 --- a/chatmaild/src/chatmaild/notifier.py +++ b/chatmaild/src/chatmaild/notifier.py @@ -68,8 +68,8 @@ class Notifier: BASE_DELAY = 8.0 # base seconds for exponential back-off delay DROP_DEADLINE = 5 * 60 * 60 # drop notifications after 5 hours - def __init__(self, notification_dir): - self.notification_dir = notification_dir + def __init__(self, queue_dir): + self.queue_dir = queue_dir max_tries = int(math.log(self.DROP_DEADLINE, self.BASE_DELAY)) + 1 self.retry_queues = [PriorityQueue() for _ in range(max_tries)] @@ -80,12 +80,12 @@ class Notifier: start_ts = int(time.time()) for token in metadata.get_tokens_for_addr(addr): queue_item = PersistentQueueItem.create( - self.notification_dir, addr, start_ts, token + self.queue_dir, addr, start_ts, token ) self.queue_for_retry(queue_item) def requeue_persistent_queue_items(self): - for queue_path in self.notification_dir.iterdir(): + for queue_path in self.queue_dir.iterdir(): if queue_path.name.endswith(".tmp"): logging.warning("removing spurious queue item: %r", queue_path) queue_path.unlink() diff --git a/chatmaild/src/chatmaild/tests/test_metadata.py b/chatmaild/src/chatmaild/tests/test_metadata.py index 0481871..d7d156b 100644 --- a/chatmaild/src/chatmaild/tests/test_metadata.py +++ b/chatmaild/src/chatmaild/tests/test_metadata.py @@ -17,9 +17,9 @@ from chatmaild.notifier import ( @pytest.fixture def notifier(metadata): - notification_dir = metadata.vmail_dir.joinpath("pending_notifications") - notification_dir.mkdir() - return Notifier(notification_dir) + queue_dir = metadata.vmail_dir.joinpath("pending_notifications") + queue_dir.mkdir() + return Notifier(queue_dir) @pytest.fixture @@ -230,9 +230,9 @@ def test_notifier_thread_connection_failures( def test_requeue_removes_tmp_files(notifier, metadata, testaddr, caplog): metadata.add_token_to_addr(testaddr, "01234") notifier.new_message_for_addr(testaddr, metadata) - p = notifier.notification_dir.joinpath("1203981203.tmp") + p = notifier.queue_dir.joinpath("1203981203.tmp") p.touch() - notifier2 = notifier.__class__(notifier.notification_dir) + notifier2 = notifier.__class__(notifier.queue_dir) notifier2.requeue_persistent_queue_items() assert "spurious" in caplog.records[0].msg assert not p.exists()