Example #1
0
File: master.py Project: jul/dsat
# -*- coding : "utf-8" -*-
import sys
import os
from dsat.state import get_connection, construct_info
import sched
from dsat.message import send_vector
from dsat.linux_mtime import m_time as time
from time import sleep
from threading import Timer
from random import randint

ticker = sched.scheduler(time, sleep)


CFG, L_CFG, ID = construct_info(sys.argv, "master")
cnx = get_connection(CFG, L_CFG)
task_id = int(time())
ev = {
    "seq":0, "type" : "cpu","when" : 0, "event" : "INIT", 
    "next":"orchester", "job_id": "0",
    "task_id":0,"seq":0, 
    "arg" : {"load" : 0, "5min" : 0}, "where" : "localhost", 
    "step" :"master", "wid":"0", "pid":str(os.getpid()),"retry":2 }
print ev
### BUG in construct_info
send_vector( cnx["orchester_out"], ev)
while True:
    sleep(1)
def reschedule(scheduler, vector, socket):
    """push a job on socket at rescheduled interval
    rescheduler si task_id qui est dans what appartient aux taches active
Example #2
0
CONFIG.update(LOCAL_INFO)
import __main__ as main

log = logging.getLogger("orchester")
D = log.debug
D("Started %r" % main.__file__)

LOCAL_INFO = dict(
    where = CONFIG["where"],
    step = "orchester",
    pid = os.getpid(),
    wid = "0",
)

CNX = get_connection(CONFIG, LOCAL_INFO)

def event_listener(CNX, config):
    """Processlet responsible for routing and reacting on status change"""
    D("event listener")
    cnx = CNX
    poller = zmq.Poller()
    out_sign = cnx["_context"].socket(zmq.PUB)
    out_sign.connect(CONFIG["cnx"]["SUB_orchester_master"] %config)
    other_in = cnx["orchester_in"]
    master_sox = cnx["master"]
    master_sox.setsockopt_string(zmq.SUBSCRIBE,unicode(LOCAL_INFO["where"]))
    poller.register(master_sox, zmq.POLLIN)
    poller.register(other_in, zmq.POLLIN)
    cpt=0
    now = time()