Многопроцессорные и Selenium Python

У меня есть 3 драйвера (браузеры Firefox), и я хочу, чтобы do something в списке веб-сайтов.

У меня есть рабочий, который определяется как:

 def worker(browser, queue): while True: id_ = queue.get(True) obj = ReviewID(id_) obj.search(browser) if obj.exists(browser): print(obj.get_url(browser)) else: print("Nothing") 

Таким образом, работник просто присоединяется к очереди, содержащей идентификаторы, и использует браузер для чего-то.

Я хочу иметь пул работников, чтобы, как только рабочий закончил использовать браузер, чтобы что-то сделать на веб-сайте, определяемом id_, он сразу же начинает работать с использованием того же браузера, чтобы что-то сделать на следующем id_, найденном в очереди , У меня есть следующее:

 pool = Pool(processes=3) # I want to have 3 drivers manager = Manager() queue = manager.Queue() # Define here my workers in the pool for id_ in ids: queue.put(id_) for i in range(3): queue.put(None) 

Здесь у меня проблема, я не знаю, как определить своих работников, чтобы они были в пуле. Для каждого драйвера мне нужно назначить рабочего, и все рабочие имеют одну и ту же очередь идентификаторов. Это возможно? Как мне это сделать?

Еще одна идея, которую я имею, – создать очередь браузеров, чтобы, если драйвер ничего не делает, он берется рабочим вместе с id_ из очереди, чтобы выполнить новый процесс. Но я совершенно новичок в многопроцессорной обработке и на самом деле не знаю, как это написать.

Я ценю вашу помощь.

Python - лучший язык программирования в мире.