Skip to content
Snippets Groups Projects
Select Git revision
  • 4625d31f93d4810bc2355d545f79ae26c9b12190
  • master default protected
  • v4.5.2
  • v4.5.1
  • v4.5.0
  • v4.4.0
  • v4.3.3
  • v4.3.2
  • v4.3.1
  • v4.3.0
  • v4.2.0
  • v4.1.0
  • v4.0.2
  • v4.0.1
  • v4.0.0
  • v3.4.0
  • v3.3.0
  • v3.2.0
  • v3.1.1
  • v3.1.0
  • v3.0.1
  • v3.0.0
22 results

project.pbxproj

Blame
  • task_executor.py 1.28 KiB
    #!/usr/bin/env python
    #
    # This file is part of vospace-transfer-service
    # Copyright (C) 2021 Istituto Nazionale di Astrofisica
    # SPDX-License-Identifier: GPL-3.0-or-later
    #
    
    import time
    
    from multiprocessing import Process
    
    from config import Config
    from job_queue import JobQueue
    
    
    class TaskExecutor(Process):
    
        def __init__(self):
            config = Config("/etc/vos_ts/vos_ts.conf")
            params = config.loadSection("scheduling")
            self.maxPendingJobs = params.getint("max_pending_jobs")
            self.maxReadyJobs = params.getint("max_ready_jobs")
            self.maxTerminatedJobs = params.getint("max_terminated_jobs")
            self.maxCleanJobs = params.getint("max_clean_jobs")
            self.execWaitTime = params.getint("exec_wait_time")
            if self.execWaitTime < 10:
                self.execWaitTime = 10
            self.srcQueue = None
            self.destQueue = None
            super(TaskExecutor, self).__init__()
    
        def wait(self):
            time.sleep(self.execWaitTime)
    
        def setSourceQueueName(self, srcQueueName):
            self.srcQueue = JobQueue(srcQueueName)
    
        def setDestinationQueueName(self, destQueueName):
            self.destQueue = JobQueue(destQueueName)
    
        def run(self):
            """
            This method must be implemented by
            inherited classes
            """
            pass