From 14584e6dc6ef080d67659e623497ac69c1c2a241 Mon Sep 17 00:00:00 2001 From: Rynco Maekawa Date: Fri, 6 Nov 2020 15:28:01 +0800 Subject: [PATCH] fix: try to fix result streaming issue --- coordinator/Controllers/AdminController.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/coordinator/Controllers/AdminController.cs b/coordinator/Controllers/AdminController.cs index 63e6a9ab..12058e19 100644 --- a/coordinator/Controllers/AdminController.cs +++ b/coordinator/Controllers/AdminController.cs @@ -59,17 +59,19 @@ public async Task DumpSuiteJobs( distinct on (account) * from jobs - where test_suite = {suiteId.Num} order by account, id desc - ").AsAsyncEnumerable(); + ").Where((job) => job.TestSuite == suiteId) + .AsAsyncEnumerable(); - Response.StatusCode = 200; - Response.ContentType = "application/csv"; + const int flushInterval = 50; - const int flushInterval = 100; + Response.ContentType = "application/csv"; + Response.StatusCode = 200; + await Response.StartAsync(); // write to body of response - var sw = new StreamWriter(Response.Body); + using var sw = new StreamWriter(Response.Body); + await using var swGuard = sw.ConfigureAwait(false); var csvWriter = new CsvWriter(sw); csvWriter.QuoteAllFields = true; @@ -93,6 +95,7 @@ from jobs counter++; } await sw.FlushAsync(); + return new EmptyResult(); }