diff --git a/src/gateway/sharding/shard_manager.rs b/src/gateway/sharding/shard_manager.rs index 3b44d4c9201..57e8a637bc9 100644 --- a/src/gateway/sharding/shard_manager.rs +++ b/src/gateway/sharding/shard_manager.rs @@ -142,6 +142,9 @@ impl ShardManager { ) -> Result<(), GatewayError> { self.initialize(shard_index, shard_init, shard_total); loop { + let batch = self.queue.pop_batch(); + self.checked_start(batch).await; + if let Ok(Some(msg)) = timeout(self.wait_time_between_shard_start, self.manager_rx.next()).await { @@ -150,8 +153,6 @@ impl ShardManager { ShardManagerMessage::Quit(res) => return res, } } - let batch = self.queue.pop_batch(); - self.checked_start(batch).await; } }