diff options
author | Frederick Muriuki Muriithi | 2022-10-19 06:16:38 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2022-10-19 06:16:38 +0300 |
commit | 881c07061946bb5ae92d42eb5c801923ab4e79eb (patch) | |
tree | 38b8d44c4fc164bb0226fdd261210ab1305ed030 | |
parent | dc5e171cdf3d1fdb6ecb5d00536bfc196b3c4cf1 (diff) | |
download | gn-gemtext-881c07061946bb5ae92d42eb5c801923ab4e79eb.tar.gz |
Issue (run-correlations-in-external-process): New issue
-rw-r--r-- | issues/run-correlations-in-external-process.gmi | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/issues/run-correlations-in-external-process.gmi b/issues/run-correlations-in-external-process.gmi new file mode 100644 index 0000000..ac05a13 --- /dev/null +++ b/issues/run-correlations-in-external-process.gmi @@ -0,0 +1,27 @@ +# Run Correlations in External Process + +## Tags + +* assigned: +* type: feature +* priority: high +* keywords: correlations, asynchronous jobs, external process +* status: pending + +## Description + +Currently on GeneNetwork2, we run the computations in an external process, but the application keeps the request alive until the entire computation is complete, and the results parsed. + +For a lot of the computations, this is not a problem, but there are cases where the computation and data processing takes a huge amount of time, leading to timeouts either on the back-end, or on the browser end. This is a +* bug + +I (fredm) propose to implement a "Request Architecture" that works as follows: + +* STEP 01: User requests a correlation computation +* STEP 02: The application triggers an asynchronous external job and responds to the user with the job identifier +* STEP 03: After a short delay, nhe user's browser uses the identifier to query the job status +* STEP 04: If the job is not completed, go to "STEP 03" above, otherwise go to "STEP 05" below +* STEP 05: If the job completed with no error, go to "STEP 06" below, otherwise jump to "STEP 07" below +* STEP 06: Process the results and produce the HTML page to display to the user. Jump to "STEP 08" +* STEP 07: Process the error and display the errors page. Jump to "STEP 08" +* STEP 08: Correlations computation process is complete |