コード例 #1
0
ファイル: worker.py プロジェクト: nin-ten/MegaCron
def updateSchedules(events):
    global worker
    global schedules

    schedules = API.getSchedules(worker)
    runSchedules(events)

    events.enter(SCHEDULES_UPDATE_INTERVAL.total_seconds(), 1, updateSchedules, (events,))
コード例 #2
0
ファイル: scheduler.py プロジェクト: nin-ten/MegaCron
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,))
コード例 #3
0
ファイル: status.py プロジェクト: nin-ten/MegaCron
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)