Commit 160d3250 authored by Bryan  BRANCOTTE's avatar Bryan BRANCOTTE
Browse files

show how many pipelines/job are queued and running

parent 941e4d29
......@@ -29,6 +29,13 @@
<strong style="color:white; text-transform:capitalize;">{{progress}} %</strong>
</v-progress-linear>
</v-col>
<v-col
class="text-subtitle-1 text-center"
cols="12"
v-if="(activeTask == 0) || (pendingTask != 0)"
>
Task: {{activeTask}} running and {{pendingTask}} pending.
</v-col>
</v-row>
<v-row v-show="isready" align="center">
......@@ -297,6 +304,8 @@ export default {
isready: false,
isready2: false,
progress:0,
activeTask: 1,
pendingTask: 0,
gencov:null,
metadata:{"nb_phenotypes":0,"nb_snps":0},
summary:{"JASSSignif":{"MinUnivNotSignif":0,"MinUnivSignif":0},"JASSNotSignif":{"MinUnivNotSignif":0,"MinUnivSignif":0}},
......@@ -562,6 +571,12 @@ methods:{
async getStatus(){
await this.$axios.$get('/queue_status/').then((function (resultStatus) {
console.log(resultStatus);
this.activeTask = resultStatus.active;
this.pendingTask = resultStatus.reserved;
}).bind(this));
await this.$axios.$get('/projects/'+this.project.id).then((async function (result) {
console.log(result.status.worktable);
......
......@@ -6,14 +6,14 @@ from json import JSONDecodeError
from pathlib import Path
from typing import List
from starlette.responses import RedirectResponse
from starlette.responses import RedirectResponse, JSONResponse
from jass import util
from jass.config import config
from jass.models.phenotype import Phenotype, get_available_phenotypes, PhenotypeIdList
from jass.models.inittable import get_inittable_meta
from jass.models.project import GlobalProject, load_project as project__load_project
from jass.tasks import create_project, run_project_analysis_if_needed
from jass.tasks import create_project, run_project_analysis_if_needed, get_queue_status
from fastapi import FastAPI, HTTPException
from fastapi.responses import Response, FileResponse
......@@ -167,6 +167,11 @@ def get_manhattan(project_id: str, selected_chr: str, selected_region: str):
)
@app.get("/api/queue_status")
def project_detail():
return JSONResponse(get_queue_status())
# @blp_inittable.route("")
......
......@@ -79,6 +79,11 @@ def dummy_task():
print("This task to nothing, but help the chain to have a valid status")
def get_queue_status():
inspect = celery.control.inspect()
return dict((k, len(list(getattr(inspect, k)().values())[0])) for k in ['active', 'reserved'])
def run_project_analysis_if_needed(project):
if project.has_computation_going_on():
return
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment