aboutsummaryrefslogtreecommitdiff
path: root/uploader/phenotypes
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2024-12-02 15:50:50 -0600
committerFrederick Muriuki Muriithi2024-12-02 15:50:50 -0600
commit1b5de8142fface85eb6d2de4fdbff9a41536968a (patch)
tree68beed5c0c0f77dbeb7a1b86bad5afbf37514bbd /uploader/phenotypes
parentecc1fb7a1186cade850fd33c0468706efcd256c3 (diff)
downloadgn-uploader-1b5de8142fface85eb6d2de4fdbff9a41536968a.tar.gz
Add UI to view status of the job as it runs.
Diffstat (limited to 'uploader/phenotypes')
-rw-r--r--uploader/phenotypes/views.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/uploader/phenotypes/views.py b/uploader/phenotypes/views.py
index 79aab81..f23b377 100644
--- a/uploader/phenotypes/views.py
+++ b/uploader/phenotypes/views.py
@@ -366,3 +366,30 @@ def add_phenotypes(species: dict, population: dict, dataset: dict, **kwargs):# p
# f"{app.config['UPLOAD_FOLDER']}/job_errors")
raise NotImplementedError("Please implement this...")
+
+
+@phenotypesbp.route(
+ "<int:species_id>/populations/<int:population_id>/phenotypes/datasets"
+ "/<int:dataset_id>/job/<uuid:job_id>",
+ methods=["GET"])
+@require_login
+@with_dataset(
+ species_redirect_uri="species.populations.phenotypes.index",
+ population_redirect_uri="species.populations.phenotypes.select_population",
+ redirect_uri="species.populations.phenotypes.list_datasets")
+def job_status(species: dict, population: dict, dataset: dict, job_id: uuid, **kwargs):
+ """Retrieve current status of a particular phenotype QC job."""
+ from uploader.debug import __pk__
+
+ with Redis.from_url(app.config["REDIS_URL"], decode_responses=True) as rconn:
+ try:
+ job = jobs.job(rconn, jobs.jobsnamespace(), str(job_id))
+ except jobs.JobNotFound as _jnf:
+ job = None
+ return render_template("phenotypes/job-status.html",
+ species=species,
+ population=population,
+ dataset=dataset,
+ job_id=job_id,
+ job=job,
+ activelink="add-phenotypes")