Source code for galaxy.jobs.manager

"""
Top-level Galaxy job manager, moves jobs to handler(s)
"""

import logging

from galaxy.jobs import handler, NoopQueue

log = logging.getLogger( __name__ )


[docs]class JobManager( object ): """ Highest level interface to job management. TODO: Currently the app accesses "job_queue" and "job_stop_queue" directly. This should be decoupled. """ def __init__( self, app ): self.app = app if self.app.is_job_handler(): log.debug("Starting job handler") self.job_handler = handler.JobHandler( app ) self.job_queue = self.job_handler.job_queue self.job_stop_queue = self.job_handler.job_stop_queue else: self.job_handler = NoopHandler() self.job_queue = self.job_stop_queue = NoopQueue() self.job_lock = False
[docs] def start( self ): self.job_handler.start()
[docs] def shutdown( self ): self.job_handler.shutdown()
[docs]class NoopHandler( object ): def __init__( self, *args, **kwargs ): self.job_queue = NoopQueue() self.job_stop_queue = NoopQueue()
[docs] def start( self ): pass
[docs] def shutdown( self, *args ): pass