Skip to content

Commit

Permalink
feat: use interval instead of sleep
Browse files Browse the repository at this point in the history
  • Loading branch information
WenyXu committed Jun 24, 2024
1 parent 321cecf commit 2b45d9e
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/meta-srv/src/region/supervisor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ use common_time::util::current_time_millis;
use snafu::{ensure, OptionExt, ResultExt};
use store_api::storage::RegionId;
use tokio::sync::mpsc::{Receiver, Sender};
use tokio::time::{interval, MissedTickBehavior};

use super::failure_detector::RegionFailureDetector;
use crate::error::{self, Result};
Expand Down Expand Up @@ -101,12 +102,14 @@ impl RegionSupervisorTicker {
let sender = self.sender.clone();
let tick_interval = self.tick_interval;
let ticker_loop = tokio::spawn(async move {
let mut interval = interval(tick_interval);
interval.set_missed_tick_behavior(MissedTickBehavior::Skip);
if let Err(err) = sender.send(Event::Clear).await {
warn!(err; "EventReceiver is dropped, failed to send Event::Clear");
return;
}
loop {
tokio::time::sleep(tick_interval).await;
interval.tick().await;
if let Err(err) = sender.send(Event::Tick).await {
warn!(err; "EventReceiver is dropped, tick loop is stopped");
break;
Expand Down

0 comments on commit 2b45d9e

Please sign in to comment.