Skip to content

Commit ebbe8b1

Browse files
committed
Fix queue algo
1 parent e862d05 commit ebbe8b1

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/tasks/queue_task.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ impl Task for QueueTask {
3636

3737
let instances_starting = self
3838
.instance_provider
39-
.get_instances(&InstanceType::Server, Some(template_name), None)
39+
.get_instances(
40+
&InstanceType::Server,
41+
Some(template_name),
42+
Some(&EpsilonState::Starting),
43+
)
4044
.await?;
4145

4246
let instances_ready = self
@@ -59,6 +63,12 @@ impl Task for QueueTask {
5963
if let Ok(info) = info_result {
6064
let mut available_slots = template.slots as u32 - info.players.online;
6165

66+
if available_slots == 0 && instances_starting.is_empty() {
67+
self.instance_provider.start_instance(template_name).await?;
68+
69+
return Ok(());
70+
}
71+
6272
while !queue.is_empty() && available_slots != 0 {
6373
if let Some(group) = queue.pop() {
6474
let group_size = group.players.len() as u32;

0 commit comments

Comments
 (0)