Ejemplo n.º 1
0
 def setUp(self):
     self.clock = Clock()
     self.obj = ModifiedObject()
     self.sc = LoopingCall(self.obj.func,
                           clock=self.clock,
                           *self.default_args,
                           **self.default_kwargs)
Ejemplo n.º 2
0
    def __init__(self, settings, request_queue, response_queue,
                 download_handler=None, clock=None):
        self.request_queue = request_queue
        self.response_queue = response_queue  # queue of responses
        self.download_handler = download_handler or GeneralHandler(settings)
        self.slots = {}
        self.num_in_progress = 0
        self.clock = clock or reactor
        self.processing = LoopingCall(self.process, clock=self.clock)
        self.processing.schedule(self.QUEUE_CHECK_FREQUENCY, now=True)
        self.running = True

        self.download_delay = settings.get_float('DOWNLOAD_DELAY')
        self.randomize_delay = settings.get_int(
            'RANDOMIZE_DOWNLOAD_DELAY')
        if self.download_delay:
            self.total_concurrency = self.domain_concurrency = 1
            self.use_domain_specific = False
        else:
            self.total_concurrency = settings.get_int(
                'CONCURRENT_REQUESTS')
            self.domain_concurrency = settings.get_int(
                'CONCURRENT_REQUESTS_PER_DOMAIN')
            if (not self.domain_concurrency or
                    self.domain_concurrency >= self.total_concurrency):
                self.use_domain_specific = False
                self.domain_concurrency = self.total_concurrency
            else:
                self.use_domain_specific = True
Ejemplo n.º 3
0
    def __init__(self, engine, clock=None):
        self.interval = engine.settings.get_float('LOG_STATS_INTERVAL')
        if not self.interval:
            raise NotConfigured
        self.multiplier = 60.0 / self.interval
        self.logging = LoopingCall(self.log, clock=clock)

        engine.signals.connect(self.engine_started,
                               signal=signals.engine_started)
        engine.signals.connect(self.engine_stopped,
                               signal=signals.engine_stopped)
        engine.signals.connect(self.response_downloaded,
                               signal=signals.response_downloaded)

        self.downloaded = 0
        self.downloaded_prev = 0
Ejemplo n.º 4
0
 def test_init(self):
     # test initializing LoopingCall without overriding its clock
     sc = LoopingCall(self.obj.func, *self.default_args,
                      **self.default_kwargs)
     sc.schedule()
     sc.cancel()