From ebd0da7fe58e5780311fbe6c33e785b9af2b1b8d Mon Sep 17 00:00:00 2001 From: Daniel Sockwell Date: Sun, 5 Apr 2020 13:28:17 -0400 Subject: [PATCH] Fix bug with RedisConnection polling freqeuency --- src/config/environmental_variables.rs | 1 + src/config/redis_cfg.rs | 2 +- src/config/redis_cfg_types.rs | 2 +- src/redis_to_client_stream/redis/redis_connection/mod.rs | 3 ++- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/config/environmental_variables.rs b/src/config/environmental_variables.rs index a65025f..6588765 100644 --- a/src/config/environmental_variables.rs +++ b/src/config/environmental_variables.rs @@ -60,6 +60,7 @@ impl fmt::Display for EnvVar { "REDIS_PASSWORD", "REDIS_USER", "REDIS_DB", + "REDIS_FREQ", ] .iter() { diff --git a/src/config/redis_cfg.rs b/src/config/redis_cfg.rs index f78a0fb..e12766d 100644 --- a/src/config/redis_cfg.rs +++ b/src/config/redis_cfg.rs @@ -59,7 +59,7 @@ For similar functionality, you may wish to set a REDIS_NAMESPACE"; host: RedisHost::default().maybe_update(env.get("REDIS_HOST")), db: RedisDb::default().maybe_update(env.get("REDIS_DB")), namespace: RedisNamespace::default().maybe_update(env.get("REDIS_NAMESPACE")), - polling_interval: RedisInterval::default().maybe_update(env.get("REDIS_POLL_INTERVAL")), + polling_interval: RedisInterval::default().maybe_update(env.get("REDIS_FREQ")), }; if cfg.db.is_some() { diff --git a/src/config/redis_cfg_types.rs b/src/config/redis_cfg_types.rs index 8d43c76..94e7d1e 100644 --- a/src/config/redis_cfg_types.rs +++ b/src/config/redis_cfg_types.rs @@ -21,7 +21,7 @@ from_env_var!( /// How frequently to poll Redis let name = RedisInterval; let default: Duration = Duration::from_millis(100); - let (env_var, allowed_values) = ("REDIS_POLL_INTERVAL", "a number of milliseconds"); + let (env_var, allowed_values) = ("REDIS_FREQ", "a number of milliseconds"); let from_str = |s| s.parse().map(Duration::from_millis).ok(); ); from_env_var!( diff --git a/src/redis_to_client_stream/redis/redis_connection/mod.rs b/src/redis_to_client_stream/redis/redis_connection/mod.rs index 3dadf01..bab23ca 100644 --- a/src/redis_to_client_stream/redis/redis_connection/mod.rs +++ b/src/redis_to_client_stream/redis/redis_connection/mod.rs @@ -61,7 +61,8 @@ impl RedisConn { if self.redis_polled_at.elapsed() > self.redis_poll_interval { if let Ok(bytes_read) = self.primary.read(&mut buffer) { self.redis_input.extend_from_slice(&buffer[..bytes_read]); - } + }; + self.redis_polled_at = Instant::now(); } if self.redis_input.is_empty() { return Ok(Async::NotReady);