def _checkJobs(self): # Update Worker Heartbeat # # NOTE: This will recide here till we finalize scheduler refactoring # and a separte module for worker specific daemon gets created. self.logger.debug("Worker heartbeat") worker = WorkerData() # Record the scheduler tick (timestamp). worker.record_master_scheduler_tick() try: worker.put_heartbeat_data() except (xmlrpclib.Fault, xmlrpclib.ProtocolError) as err: worker.logger.error("Heartbeat update failed!") self.logger.debug("Refreshing jobs") return self.source.getJobList().addCallback( self._startJobs).addErrback(catchall_errback(self.logger))
def _checkJobs(self): # Update Worker Heartbeat # # NOTE: This will recide here till we finalize scheduler refactoring # and a separte module for worker specific daemon gets created. self.logger.debug("Worker heartbeat") worker = WorkerData() # Record the scheduler tick (timestamp). worker.record_master_scheduler_tick() try: worker.put_heartbeat_data() except (xmlrpclib.Fault, xmlrpclib.ProtocolError) as err: worker.logger.error("Heartbeat update failed!") self.logger.debug("Refreshing jobs") return self.source.getJobList().addCallback( self._startJobs).addErrback(catchall_errback(self.logger))
def _startJobs(self, jobs): # Record the scheduler tick (timestamp). utils.record_scheduler_tick() # Update Worker Heartbeat # # NOTE: This will recide here till we finalize scheduler refactoring # and a separte module for worker specific daemon gets created. worker = WorkerData() try: worker.put_heartbeat_data() except (xmlrpclib.Fault, xmlrpclib.ProtocolError) as err: worker.logger.error("Heartbeat update failed!") for job in jobs: new_job = JobRunner(self.source, job, self.dispatcher, self.reactor, self.daemon_options) self.logger.info("Starting Job: %d " % job.id) new_job.start()
def _startJobs(self, jobs): # Record the scheduler tick (timestamp). utils.record_scheduler_tick() # Update Worker Heartbeat # # NOTE: This will recide here till we finalize scheduler refactoring # and a separte module for worker specific daemon gets created. worker = WorkerData() try: worker.put_heartbeat_data() except (xmlrpclib.Fault, xmlrpclib.ProtocolError) as err: worker.logger.error("Heartbeat update failed!") for job in jobs: new_job = JobRunner(self.source, job, self.dispatcher, self.reactor, self.daemon_options) self.logger.info("Starting Job: %d " % job.id) new_job.start()
def handle(self, *args, **options): import os from twisted.internet import reactor from lava_scheduler_daemon.service import JobQueue from lava_scheduler_daemon.worker import WorkerData from lava_scheduler_daemon.dbjobsource import DatabaseJobSource import xmlrpclib daemon_options = self._configure(options) source = DatabaseJobSource() if options['use_fake']: import lava_scheduler_app opd = os.path.dirname dispatcher = os.path.join( opd(opd(os.path.abspath(lava_scheduler_app.__file__))), 'fake-dispatcher') else: dispatcher = options['dispatcher'] # Update complete worker heartbeat data. This will be run once, # on every start/restart of the scheduler daemon. worker = WorkerData() try: worker.put_heartbeat_data(restart=True) except (xmlrpclib.Fault, xmlrpclib.ProtocolError) as err: worker.logger.error("Complete heartbeat update failed!") # Start scheduler service. service = JobQueue(source, dispatcher, reactor, daemon_options=daemon_options) reactor.callWhenRunning(service.startService) reactor.run()
def handle(self, *args, **options): import os from twisted.internet import reactor from lava_scheduler_daemon.service import JobQueue from lava_scheduler_daemon.worker import WorkerData from lava_scheduler_daemon.dbjobsource import DatabaseJobSource import xmlrpclib daemon_options = self._configure(options) source = DatabaseJobSource() if options['use_fake']: import lava_scheduler_app opd = os.path.dirname dispatcher = os.path.join( opd(opd(os.path.abspath(lava_scheduler_app.__file__))), 'fake-dispatcher') else: dispatcher = options['dispatcher'] # Update complete worker heartbeat data. This will be run once, # on every start/restart of the scheduler daemon. worker = WorkerData() try: worker.put_heartbeat_data(restart=True) except (xmlrpclib.Fault, xmlrpclib.ProtocolError) as err: worker.logger.error("Complete heartbeat update failed!") # Start scheduler service. service = JobQueue( source, dispatcher, reactor, daemon_options=daemon_options) reactor.callWhenRunning(service.startService) reactor.run()