Ejemplo n.º 1
0
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 
Ejemplo n.º 2
0
 def __init__(self, seed_service):
     self.seed_service = seed_service
     self.cycle_seed_engine = CycleSeederEngine(self.seed_service)
     log.msg('init SchedulerHandler')