Example #1
0
    def run(self):
        # reset DB flags
        kuos = get_by_flag(WORK)
        for uo in kuos:
            set_flag(uo.mid, STOP)
        tuos = get_by_flag(WAIT)
        for uo in tuos:
            set_flag(uo.mid, STOP)

        while True:
            msg = self.s2m.get()
            # print("pid=%s, self.s2m.get=%s" % (os.getpid(), repr(msg)))
            who = msg.get("who")
            if who == "worker":
                self.handle_mid(msg["mid"], msg["dat"])
            elif who == "svr":
                # self.m2w.put(msg['mid'])
                self.m2w.put(pick_url(msg["mid"]))
            elif who == "error":
                sys.stderr.write(msg["dat"])  # FIXME
                sys.stderr.write("\n")
            else:
                sys.stderr.write("Unknow msg:\n")
                sys.stderr.write(msg)
                sys.stderr.write("\n")
Example #2
0
def rest():
    mid = request.query.mid
    act = request.query.act
    print("rest: mid=%s, act=%s" % (mid, act))
    if act in ("start",):
        set_flag(mid, "wait")
        #mon.s2m.put({"who": "svr", "mid": mid})
        s2m.put({"who": "svr", "mid": mid})
    redirect("/")
Example #3
0
 def handle_mid(self, mid, dat):
     print(dat)
     if dat.startswith("Process "):
         dd = dat.split()
         act = dd[2].lower()
         print("mid=%s, act=%s" % (mid, act))
         set_flag(mid, act)
     elif dat.startswith("Downloading "):
         print("mid=[%s]" % mid)
         update_filename(mid, dat[12:-5])