mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-26 11:24:18 +00:00
32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from .. import db
|
|
from ..models import Corpus, Job
|
|
import docker
|
|
|
|
|
|
docker_client = docker.from_env()
|
|
from . import corpus_utils, job_utils # noqa
|
|
|
|
|
|
def check_corpora():
|
|
corpora = Corpus.query.all()
|
|
for corpus in filter(lambda corpus: corpus.status == 'submitted', corpora):
|
|
corpus_utils.create_build_corpus_service(corpus)
|
|
for corpus in filter(lambda corpus: corpus.status in ['queued', 'running'], corpora): # noqa
|
|
corpus_utils.checkout_build_corpus_service(corpus)
|
|
for corpus in filter(lambda corpus: corpus.status == 'start analysis', corpora): # noqa
|
|
corpus_utils.create_cqpserver_container(corpus)
|
|
for corpus in filter(lambda corpus: corpus.status == 'stop analysis', corpora): # noqa
|
|
corpus_utils.remove_cqpserver_container(corpus)
|
|
db.session.commit()
|
|
|
|
|
|
def check_jobs():
|
|
jobs = Job.query.all()
|
|
for job in filter(lambda job: job.status == 'submitted', jobs):
|
|
job_utils.create_job_service(job)
|
|
for job in filter(lambda job: job.status in ['queued', 'running'], jobs):
|
|
job_utils.checkout_job_service(job)
|
|
for job in filter(lambda job: job.status == 'canceling', jobs):
|
|
job_utils.remove_job_service(job)
|
|
db.session.commit()
|