У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Переход по url из txt
-
Всем привет! Прям очень простая задача, но не могу решить ее что с чатом, что по видео, так как везде разный интерфейс отображается. У меня BAS 29.4.1, русская версия. И просто не догоняю как сделать простую задачу! Имеется txt файл, который называется urls.txt, теперь задача, как мне сделать следующее:
- Прочитать этот urls.txt
- Взять с него в рандомном порядке ссылку
- Открыть в браузере это ссылку!
Всё!!!! Целый день потратил на то, чтобы сделать это, и ничего не получилось, а gpt такую ересь писал что просто жопа... Пытался найти на форуме решение этой простой задачи, не полчулось, в просторах интернета тоже! Тыкните пожалуйста пальцем куда смотреть и что делать, или напишите по пунктам как это сделать.
Спасибо! Прям не помню чтобы у меня была когда-то такая сложная задача....
-
-
Создать ресурс "читать из файла" В нем указать при создании
мешать строки

-
В переменную получаем ресурс с помощью действия
"Создать переменную",чтобы потом ее можно было вставлять в логи и использовать по логике

-
Вставить переменную в загрузку страницы

-
-
Если ресурс "получить из файла" уже есть c этими ссылками, тогда в нем включите настройку
"мешать строки"

-
@Vladimir2309 Можно сделать проще.
- Читать файл в список.
- Метка.
- Мешать список.
- Взять строку по индексу 0.
- Тут ваши действия.
- Удалить строку по индексу 0.
- Перейти к метке.
Ну..., между можно сделать проверку на "содержится ли в переменной" (например текст 'http'),
if [[PROV]] == false, то завершить скрипт. -
@gurkin4 Вы забыли добавить что нужно сохранить файл 8мым пунктом и делать взаимодействие между многопотоком, поэтому эта логика имеет место быть в целом, но конешн лучше юзать все-таки ресурсы для оптимизации скрипта, ну и банально меньше путаницы и логики.
-
@Roy-Mustang в мультипотоке с одного текстовика не получится любым способом. Если и делать мультипотоки, то делить текстовик на несколько для каждого.
-
Касаемо меток, лучше их не юзать во избежания некоторых проблем, используйте циклы это более правильная логика
-
Roy Mustang прав и лучше уж Циклы.
А в настойках можно ещё и указать что бы они повторялись просто и без Брать любое число раз, оно хотя почти тож самое.
Так же можно и задать Перезагрузку - Обновление Ресурса или же изначально и время даже задать или внутри и тогда можно и обновлять - добавлять в Файл новое и он будет подхватывать их.Тут смотря для чего и какая Логика и так и сяк можно и gurkin4 тоже прав что где то может что то и не так и Метку надо мол всё же :)
-
Всем большое спасибо за ответы!
-
@Vladimir2309 если ссылки и далее хочешь юзать, проще список в ресурс в onaaplication start, потом брать оттуда, удалять и записывать туда же, и так будут делать все потоки и поочереди юзать каждую страницу