Improve load balancing and move to pull based model

This commit is contained in:
Stone_Red
2025-12-21 14:18:35 +01:00
parent 27558ba3f2
commit 8d5bb1eff4
8 changed files with 344 additions and 149 deletions
@@ -0,0 +1,32 @@
using Microsoft.AspNetCore.Mvc;
using RemoteExec.Server.Hubs;
namespace RemoteExec.Server.Controllers;
[ApiController]
[Route("/")]
public class AssemblyController(ILogger<AssemblyController> logger) : ControllerBase
{
[HttpPost("provide-assembly")]
public async Task<IActionResult> ProvideAssembly([FromQuery] Guid requestId)
{
try
{
using MemoryStream ms = new MemoryStream();
await Request.Body.CopyToAsync(ms);
byte[] assemblyBytes = ms.ToArray();
logger.LogInformation("Received assembly for request {RequestId}, size: {Size} bytes", requestId, assemblyBytes.Length);
await RemoteExecutionHub.ProvideAssembly(requestId, assemblyBytes);
return Ok();
}
catch (Exception ex)
{
logger.LogError(ex, "Error providing assembly for request {RequestId}", requestId);
return StatusCode(500, ex.Message);
}
}
}