mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-13 09:30:40 +00:00
Rename TaskRunner to Daemon (because it essentially is one) and restructure cli
This commit is contained in:
25
app/cli.py
25
app/cli.py
@ -11,15 +11,26 @@ def register(app):
|
||||
# create or update user roles
|
||||
Role.insert_roles()
|
||||
|
||||
@app.cli.command()
|
||||
def tasks():
|
||||
from app.tasks import TaskRunner
|
||||
task_runner = TaskRunner()
|
||||
task_runner.run()
|
||||
@app.cli.group()
|
||||
def daemon():
|
||||
"""Daemon commands."""
|
||||
pass
|
||||
|
||||
@app.cli.command()
|
||||
@daemon.command()
|
||||
def run():
|
||||
"""Run daemon"""
|
||||
from app.daemon import Daemon
|
||||
daemon = Daemon()
|
||||
daemon.run()
|
||||
|
||||
@app.cli.group()
|
||||
def test():
|
||||
"""Run the unit tests."""
|
||||
"""Test commands."""
|
||||
pass
|
||||
|
||||
@test.command()
|
||||
def run():
|
||||
"""Run unit tests."""
|
||||
import unittest
|
||||
tests = unittest.TestLoader().discover('tests')
|
||||
unittest.TextTestRunner(verbosity=2).run(tests)
|
||||
|
20
app/daemon/__init__.py
Normal file
20
app/daemon/__init__.py
Normal file
@ -0,0 +1,20 @@
|
||||
from app import db
|
||||
from time import sleep
|
||||
from .corpus_utils import CheckCorporaMixin
|
||||
from .job_utils import CheckJobsMixin
|
||||
import docker
|
||||
|
||||
|
||||
class Daemon(CheckCorporaMixin, CheckJobsMixin):
|
||||
def __init__(self):
|
||||
self.docker = docker.from_env()
|
||||
|
||||
def run(self):
|
||||
while True:
|
||||
try:
|
||||
self.check_corpora()
|
||||
self.check_jobs()
|
||||
db.session.commit()
|
||||
except:
|
||||
pass
|
||||
sleep(1.5)
|
@ -1,14 +0,0 @@
|
||||
from .corpus_utils import CheckCorporaMixin
|
||||
from .job_utils import CheckJobsMixin
|
||||
from ..import db, socketio
|
||||
import docker
|
||||
|
||||
|
||||
class TaskRunner(CheckCorporaMixin, CheckJobsMixin):
|
||||
def __init__(self):
|
||||
self.docker = docker.from_env()
|
||||
|
||||
def run(self):
|
||||
self.check_corpora()
|
||||
self.check_jobs()
|
||||
db.session.commit()
|
Reference in New Issue
Block a user