Задать вопрос
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. Можно как-то упорядочить процесс запуска, что-бы происходила не случайная выборка из списка, а по очереди?
  • Вопрос задан
  • 808 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
tema_sun
@tema_sun
1. Они запускаются по списку, но какие-то процессы отрабатывают быстрее и получают следующий таск раньше, поэтому кажется, что не по порядку. Один и тот же таск не будет запущен разными процессами дважды.
2. Не использовать мультипроцессинг.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽