From c4883aeaa2e2a783478c56830e143e6445f7d047 Mon Sep 17 00:00:00 2001 From: willgraf <7930703+willgraf@users.noreply.github.com> Date: Tue, 27 Aug 2019 09:41:03 -0700 Subject: [PATCH] Bugfix: If get_redis_hash finds an invalid key, put it back in the queue. (#57) * if a key is invalid for some reason, put it back instead of working on it. * update tests for get_redis_hash putback keys if invalid change --- redis_consumer/consumers.py | 3 ++- redis_consumer/consumers_test.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/redis_consumer/consumers.py b/redis_consumer/consumers.py index 7c707727..57985bb9 100644 --- a/redis_consumer/consumers.py +++ b/redis_consumer/consumers.py @@ -118,7 +118,8 @@ def get_redis_hash(self): self.logger.warning('Found invalid hash in %s: `%s` with ' 'hvals: %s', self.queue, redis_hash, self.redis.hgetall(redis_hash)) - self.redis.lrem(self.processing_queue, 1, redis_hash) + # self.redis.lrem(self.processing_queue, 1, redis_hash) + self._put_back_hash(redis_hash) def _handle_error(self, err, redis_hash): """Update redis with failure information, and log errors. diff --git a/redis_consumer/consumers_test.py b/redis_consumer/consumers_test.py index 8b8203b0..93a07ae2 100644 --- a/redis_consumer/consumers_test.py +++ b/redis_consumer/consumers_test.py @@ -206,7 +206,7 @@ def test_get_redis_hash(self): rhash = consumer.get_redis_hash() assert rhash == items[0] - assert redis_client.work_queue == [] + assert redis_client.work_queue == items[1:] assert redis_client.processing_queue == items[0:1] def test_purge_processing_queue(self):