Skip to content

Commit 3bd760d

Browse files
author
Matti Pulkkinen
committed
Don't erase task result too early
- Only erase when client polls the result and task is failed or done
1 parent 93e8afb commit 3bd760d

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

examples/server/main.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2579,9 +2579,12 @@ void start_server(SDParams& params) {
25792579
if (g_task_results.find(task_id) != g_task_results.end()) {
25802580
json result = g_task_results[task_id];
25812581
res.set_content(result.dump(), "application/json");
2582-
// Erase data after sending
2583-
result["data"] = json::array();
2584-
g_task_results[task_id] = result;
2582+
2583+
if (g_task_results[task_id]["status"] == "Completed" ||
2584+
g_task_results[task_id]["status"] == "Failed") {
2585+
// Remove completed or failed tasks from the results map to free memory
2586+
g_task_results.erase(task_id);
2587+
}
25852588
} else {
25862589
res.set_content("Cannot find task " + task_id + " in queue", "text/plain");
25872590
res.status = 404;

0 commit comments

Comments
 (0)