mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +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