def handle(self, dict):
        # format key
        ex_res = self.extract(dict['url'])
        key = "{sid}:{dom}.{suf}:queue".format(
            sid=dict['spiderid'],
            dom=ex_res.domain,
            suf=ex_res.suffix)

        val = pickle.dumps(dict, protocol=-1)

        # shortcut to shove stuff into the priority queue
        self.redis_conn.zadd(key, val, -dict['priority'])

        # if timeout crawl, add value to redis
        if 'expires' in dict and dict['expires'] != 0:
            key = "timeout:{sid}:{appid}:{crawlid}".format(
                            sid=dict['spiderid'],
                            appid=dict['appid'],
                            crawlid=dict['crawlid'])
            self.redis_conn.set(key, dict['expires'])

        # log success
        dict['parsed'] = True
        dict['valid'] = True
        self.logger.info('Added crawl to Redis', extra=dict)
Processes a vaild crawl request
dataset/ETHPy150Open istresearch/scrapy-cluster/kafka-monitor/plugins/scraper_handler.py/ScraperHandler.handle