Задать вопрос
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn

Как образом pool.starmap() запускает процессы?

Выполняю запуск скрипта следующим образом:
with multiprocessing.Pool(processes=4) as pool:
        results = pool.starmap(run_selenium, product(random.choice(urls), proxys))

В proxys хранится определенное кол-во прокси. На данный момент заметил то, что процессы запускаются не по списку прокси, а выборочно, соответственно у меня два вопроса:
1. Каждый элемент используется только один раз, или есть вероятность, что одно и тоже прокси может быть использовано более одного раза?
2. Можно как-то упорядочить процесс запуска, что-бы происходила не случайная выборка из списка, а по очереди?
  • Вопрос задан
  • 803 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
tema_sun
@tema_sun
1. Они запускаются по списку, но какие-то процессы отрабатывают быстрее и получают следующий таск раньше, поэтому кажется, что не по порядку. Один и тот же таск не будет запущен разными процессами дважды.
2. Не использовать мультипроцессинг.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы