Написал многопоточный скрипт, но работает непонятно с неудачами
-
@Fox Извините, была опечатка, 2 потока 4 успеха.
-
У меня складывается впечатление что многопоточность это такой арт обстрел по данным, где нельзя гарантировать конечный результат? И что если я хочу обойтись без дублей, я должен либо в 1 поток делать, либо потом зачистку реализовывать? Так как если работаю в несколько потоков с ненулевым количеством неудач, не получается укладываться в ровное количество результатов, которые я хочу получить?
В то же время если я выставляю количество неудач=0 у меня не возникает лишних результатов. Все работает как мне надо и в многопотоке. И эта логика меня ставит в тупик.
-
@romanbiz Я везде работаю с многопотоком, всё работает чётко и по замыслу. Но ни где не пользовался успешными и неудачными выполнениями. Ведь всё можно организовать в логике скрипта.
Для вашей задачи подойдёт формула выше:
если количество потоков больше 1, то:
количество потоков плюс успешных выполнений минус 1.Выставите скрипт в 3 потока, !100! успешных выполнений и 0 неудачных. Скрипт выдаст только 3 результата.
Как писал выше @DrPrime скорее всего 0 неудачных выполнений не предусмотрено в BAS.
-
@Fox спасибо за формулу. Буду тестировать. Ну когда я выставлял количество потоков равное количеству успехов и 0 неудач вроде нормально работало.
-
@Fox дополнение к Вашей формуле, количество успешных выполнений тоже должно быть >1.
Так как в случае 3 потока, 1 успех, 1 неудача получается:[574710937] [00:12:38] Поток №4 : поток спарсил [574710937] [00:12:38] Поток №2 : поток спарсил [574710937] [00:12:38] Поток №3 : поток спарсил
-
@romanbiz Вообще эти огороды можно не городить, если установить количество успехов РЕСУРСА с куда сохраняются ссылки на страницы в 1. И не будет никах проблем
-
@DrPrime поясните, пожалуйста, если несложно. Не понимаю что конкретно надо сделать и как это будет работать. Заранее спасибо.
-
@DrPrime Кажется понял. Если так сделать, то получается что каждую ссылку можно использовать только 1 раз. Таким образом повторно ее нельзя будет использовать, если ее уже взял один поток.
-
@romanbiz да, именно так