Improve configuration of RemoteExecutor

This commit is contained in:
Stone_Red
2025-12-23 14:43:19 +01:00
parent 64818f735f
commit 5819432c36
16 changed files with 204 additions and 63 deletions
@@ -0,0 +1,21 @@
namespace RemoteExec.Client.LoadBalancingStrategies;
internal class ResourceAwareStrategy : ILoadBalancingStrategy
{
public ServerConnection? SelectServer(IEnumerable<ServerConnection> availableServers)
{
return availableServers.MinBy(s =>
{
if (s.Metrics == null)
{
return double.MaxValue;
}
double cpuScore = s.Metrics.CpuUsage;
double activeTaskScore = s.Metrics.ActiveTasks * 10;
double backlogScore = s.TaskChannel.Reader.Count * 50;
return cpuScore + activeTaskScore + backlogScore;
});
}
}