Download rework (#22)

* rework server to send download ready back via signalr

* adjust queue handling for removal

* adjust api to main

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
This commit is contained in:
rootdarkarchon
2023-01-15 16:00:38 +01:00
committed by GitHub
parent 5e0e21ef68
commit 4bd71a5889
15 changed files with 165 additions and 87 deletions

View File

@@ -35,25 +35,43 @@ public class RequestFileStreamResult : FileStreamResult
public override void ExecuteResult(ActionContext context)
{
base.ExecuteResult(context);
try
{
base.ExecuteResult(context);
}
catch
{
throw;
}
finally
{
_releaseCts.Cancel();
_releaseCts.Cancel();
if (!_releasedSlot)
_requestQueueService.FinishRequest(_requestId);
if (!_releasedSlot)
_requestQueueService.FinishRequest(_requestId);
_mareMetrics.DecGauge(MetricsAPI.GaugeCurrentDownloads);
_mareMetrics.DecGauge(MetricsAPI.GaugeCurrentDownloads);
}
}
public override async Task ExecuteResultAsync(ActionContext context)
{
await base.ExecuteResultAsync(context).ConfigureAwait(false);
try
{
await base.ExecuteResultAsync(context).ConfigureAwait(false);
}
catch
{
throw;
}
finally
{
_releaseCts.Cancel();
_releaseCts.Cancel();
if (!_releasedSlot)
_requestQueueService.FinishRequest(_requestId);
if (!_releasedSlot)
_requestQueueService.FinishRequest(_requestId);
_mareMetrics.DecGauge(MetricsAPI.GaugeCurrentDownloads);
_mareMetrics.DecGauge(MetricsAPI.GaugeCurrentDownloads);
}
}
}