@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Случайное число в зависимости от значений строки на сайте
-
Всем добрый день, подскажите пожалуйста, у самого до конца мозгов не хватает )
Есть строка на сайте, с числовым значением, скажем от 1 до 100, хотелось бы парсить эту строку и в зависимости от значений этой строки на сайте, к примеру: 1-20, 30-50, 70-100, задавать случайное число, к примеру: если от 1-20 до - задавать от 0 до 0 (если это не сломает скрипт), если от 30 до 50 - от 1 до 1, если 70-10 от 1 до 2.
Заранее большое спасибо, если логика слишком сложная на Ваш - предлагайте пожалуйста в личку мысли.
-
[[SITE_NUM]] / 33 + rand(0, 1)
-
Спасибо большое, а Вы бы не могли пожалуйста чуть-чуть разжевать, за что отвечает 33 + rand(0, 1)?
Заранее большое спасибо. Строку, как я понимаю, используем в Случайное число - expression.
[[SITE_NUM]] - значение переменной с сайта, который парсим, а как он в данном случае распознает числовые значения? К примеру, если на сайте в строке 370, а на выходе хотелось бы получить случайные числа от 1 до 1.
Извиняюсь, наверно некорректно выразился, числа от 1 до 100 были приведены для примера. Если это 1000+ значения, требуется делить на 333, правильно понимаю, для лучшего результата?
Еще раз большое спасибо )
И хотелось бы понять, что будет, если он получит, к примеру 100/500, то есть значения ниже 1.
-
Что значит "от 1 до 1"?
Если форум меняет ваш текст, внесите его в </> -
Да не, форум не меняет, просто там два значения, нижнее - минимальное и верхнее - максимальное. Хотелось бы максимально рандомизировать процесс, но чтобы он не выходил за определенные рамки. Извиняюсь, если внес некоторый каламбур.
То есть условно, если значения низкие на сайте - кликов 1/1, если выше 1/2, 2/3 и тд.
-
это не всегда помогаетК сожалению у меня например экранирование кавычек не срабатывало и в коде он их все равно рубит
-
@lcatlas Используйте конструктор, там есть действие случайное число. По умолчанию он потребует мин и макс вот вам и будут рамки.
upd
Текст ссылки
Только значения в конструкторе надо устанавливать как число. Или если они неизвестны и будут в переменных то как выражение. -
Проблем со случайным числом нет ) Мне нужно привязать случайное число к определенным значениям, но идею я в целом понял, спасибо большое, vituskosoy! Буду просто делить значения, которые выдает парсер.
Надо будет только экранировать наверно от ошибок, когда значения будут ниже 1, чтобы клики не уходили и скрипт не сыпался.