class MyClass(threading.Thread): def __init__(self,queue): threading.Thread.__init__(self) self.queue = queue def run(self): while True: try: item = self.queue.get_nowait() except Queue.Empty: break try: self.worker(item) except Exception, detail: traceback.print_exc() self.queue.task_done() def worker(self, host): g = Grab() g.go(host) def main(): q = Queue.Queue() urls = ['http://ya.ru', 'http://yandex.ru', 'http://ramber.ru', 'http://nigma.ru'] th = 3 for url in urls: q.put(url) for i in xrange(th): t = MyClass(q) t.start() q.join() print "Finish" if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) main()
Вопрос возник, есть база в которой хранятся URL'ы, много - 1000/10000/100000
Как мне лучше организовать многопоточный чек по ним, т.е. закинуть в список urls ?