def updateSchedules(events): global worker global schedules schedules = API.getSchedules(worker) runSchedules(events) events.enter(SCHEDULES_UPDATE_INTERVAL.total_seconds(), 1, updateSchedules, (events,))
def checkWorkerHeartbeat(events): for worker in API.getWorkers(): if (datetime.now() - worker.heartbeat) > WORKER_HEARTBEAT_TIMEOUT: for schedule in API.getSchedules(worker): schedule.worker = API.getNextWorker() API.destroyWorker(worker) events.enter(WORKER_HEARTBEAT_TIMEOUT.total_seconds(), 1, checkWorkerHeartbeat, (events,))
def printWorkerTask(w): schedules = API.getSchedules(w) string = "worker %d's schedules: " % w.id for s in schedules: string += "%d " % s.id, debug_status(string)