class SchedulerHandler: implements(Scheduler.Iface) def __init__(self, seed_service): self.seed_service = seed_service self.cycle_seed_engine = CycleSeederEngine(self.seed_service) log.msg('init SchedulerHandler') def ping(self): log.msg("ping received") print 'ping()' def do_register(self, spiderid): pass def do_unregister(self, spiderid): pass def get_seeds(self, spiderid, report): log.msg("Request get_seeds from %s" % spiderid) seeds = self.seed_service.get_seeds(spiderid, report) pkg = SeedsPackage() pkg.ID = "pkg%s" % int(time.time()) pkg.seeds = seeds log.msg('return SeedsPackage[%s] to %s, total %s seeds' % \ (pkg.ID, spiderid, len(pkg.seeds))) return pkg def add_seeds(self, clientid, pkg): log.msg("Request add_seeds from %s, %s" %\ (clientid, format_seedspackage(pkg))) self.seed_service.add_seeds(clientid, pkg) print 'add seed 1' self.cycle_seed_engine.add_package(pkg) print 'add seed 2' return def get_latency_time(self, spiderid, url): log.msg('Request get_latency_time from %s, url:%s' % \ (spiderid, url)) wait = self.seed_service.get_latency_time(url) return wait
def __init__(self, seed_service): self.seed_service = seed_service self.cycle_seed_engine = CycleSeederEngine(self.seed_service) log.msg('init SchedulerHandler')