@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
сделать чтоб весь кеш загружался в одну папку в одном месте
-
@UserTrue said in сделать чтоб весь кеш загружался в одну папку в одном месте:
@sergerdn Кстати про сервер, там еще нужны ключи запуска , если нет видеокарты (если разработчик это не пофиксил это из коробки)
--disable-dawn-features=adapter_blocklist --use-vulkan=swiftshaderЯ даже не знаю что за первый ключ такой, пошел смотреть на https://chromium.googlesource.com/chromium/src/+/master/gpu/config/gpu_switches.cc#67
Звучит ключ еще как-то странновато - "отключить фичи дауна" 😅
-
@UserTrue said in сделать чтоб весь кеш загружался в одну папку в одном месте:
@sergerdn Это чтобы WebGPU мог использовать процессор вместо видеокарты, по умолчание не может и это можно спалить и некоторые это палят. Актуально если используются виндовые отпечатки
Да, я это уже прочитал, спасибо, что поделился.
-
Наличие кэша можно тоже спалить. Делаем чек
IS_COOKIE_EXISTS == false и IS_CACHE_EXIST == true set red_flag_user = 1У тебя есть кэш есть, а куков нет xD. Откуда ты взял кэш без куков?
Можно возразить, а мол в браузере есть фича удалить только куки и оставить кэш, но кто так делает?
В таком случае можно сверху чекнуть есть ли кэш у интернет соединения (у резолвера в частности днс, например отрезолвить несуществующий домен и понять уникальный ли посетитель) и тут вдруг выясняется что посетитель уникальный IS_CACHEDNS_EXIST == false, куков у него нет IS_COOKIE_EXISTS == false, а вот кэш браузера откуда-то взялся xD Ай, да мамкин крутильщик 😊
-
@FastSpace Это все теория, нужно с каждым конкретным сайтом смотреть что можно, а что нельзя. Какой смысл применять самые строгие рамки ко всем сайтам, да есть сайты у которых паранойя зашкаливает, но большинство так не делает. Большая часть больших сайтов делает упор на перфект канвас и проверку ip по своим базам, ещё скорость ввода букв в поля ввода часто смотрят.
Кроме того у больших сайтов огромная инфраструктура, всякая статика типо скрипты могут грузиться с одних серверов, картинки с других, сменилось гео опять с других. Плюс у них тоже стоят всякие кжширующие сервера которые работают отдельно от серверов приложения. Короче муть такая что пытаться разобраться откуда у юзер кэш задача та ещё и не факт что выполнимпя для них и что того стоит
-
This post is deleted!
-
@UserTrue said in сделать чтоб весь кеш загружался в одну папку в одном месте:
Кроме того у больших сайтов огромная инфраструктура, всякая статика типо скрипты могут грузиться с одних серверов, картинки с других, сменилось гео опять с других. Плюс у них тоже стоят всякие кжширующие сервера которые работают отдельно от серверов приложения. Короче муть такая что пытаться разобраться откуда у юзер кэш задача та ещё и не факт что выполнимпя для них и что того стоит
Причем тут сервера разные.
Я отрезовлю тебе в браузере plkf1mif1lfq199jfggkcllfqrgmzj135mvf1.com несуществующий домен и пойму ответил ты из кэша или нет, а также чекну наличие куков моего домена. Всё задача простая. -
@FastSpace ок тем временем я это уже давно успешно использую на многих сайтах и регерах. А ты все про какие-то теоретические возможности
-
@UserTrue said in сделать чтоб весь кеш загружался в одну папку в одном месте:
@FastSpace ок тем временем я это уже давно успешно использую на многих сайтах и регерах. А ты все про какие-то теоретические возможности
Используй ) Моё какое-то дело, только лишь сказал что почти всё нестандартное и кастомное что ты делаешь с браузером можно спалить.
Вон сайт с отелями чекает сколько у тебя шлюзов в системе xD ЖЕСТЬ. -
@FastSpace said in сделать чтоб весь кеш загружался в одну папку в одном месте:
Используй ) Моё какое-то дело, только лишь сказал что почти всё нестандартное и кастюмное что ты делаешь с браузером можно спалить.
Только палят обычно стандартное как раз, стандартными решениями
-
@UserTrue said in сделать чтоб весь кеш загружался в одну папку в одном месте:
@FastSpace said in сделать чтоб весь кеш загружался в одну папку в одном месте:
Используй ) Моё какое-то дело, только лишь сказал что почти всё нестандартное и кастюмное что ты делаешь с браузером можно спалить.
Только палят обычно стандартное как раз, стандартными решениями
Ладно, забей я не об этом.
Если сайт сильно захочет - он спалит прокси из шопов и бас тоже.
-
@sergerdn said in сделать чтоб весь кеш загружался в одну папку в одном месте:
Таким образом получаем, что при рестарте потока каждый поток работает со свой папкой, при первом старте кэш пустой, при последующих - остался от предыдущих потоков.
ага, такую опцию уже себе поставил одну из) удобно когда по тому же сайту ходить надо тыщщи раз)
ну и очистку кеша или всего профиля - то в настройке выше при необходимости выбрать)и по поводу этих ключей, я так понял что они по умолчанию именно так и стоят в настройках браузера
--disable-gpu-program-cache
--disable-gpu-shader-disk-cache
--disable-features=GpuProcessHighPriorityWin,GpuUseDisplayThreadPriority -
@basuser123 Вы у меня Улыбку на лице создаёте, помнится Кузкуз может так, но вы всех превзошли.
Что за вот интересно Кодер, за которго решают Логику :))) -
@UserTrue said in сделать чтоб весь кеш загружался в одну папку в одном месте:
Я долго ждал пока кто-нибудь посмотрит ключа запуска и заметит --disk-cache-dir , но было прикольно наблюдать за выдумыванием различных костылей с символными ссылками и тп )
хм
.хотя до этого несколько дней назад я у него именно это и спрашивал
вот и верь после этого ai) чо там от него наш разраб хочет такого волшебного я хз))
хотя там очень многое зависит от умения формулировать вопрос так чтоб он ответил. если правильно спрашивать он тебе расскажет и как порты сканировать для хака, и как из листьев коки кокаин гнать) но это сцк целое исскуство, иногда хочется просто быстро задать вопрос и получить нормальный ответ)@Alex84
так а чо кодер, ему надо тз дать, а как ты его дашь если сам не до конца понимаешь всех возможностей и невозможностей)
и даже после этого еще надо проходить с наждачкой чото улучшать не один раз)
вот, сижу изобретаю велосипед, хули... -
This post is deleted!
-
@basuser123 said in сделать чтоб весь кеш загружался в одну папку в одном месте:
хотя до этого несколько дней назад я у него именно это и спрашивал
chatGPT может ускорить, то что ты и так знаешь как сделать хотя бы концептуально, а если не знаешь тогда плохая идея ) Он иногда просто выдумывает ответы или пишет правдоподобный код ))
-
This post is deleted!
-
@basuser123 said in сделать чтоб весь кеш загружался в одну папку в одном месте:
вот и верь после этого ai)
Я же давал выше ссылку https://peter.sh/experiments/chromium-command-line-switches/#disk-cache-dir, этот сайт обязан быть в закладках у каждого, кто занимается автоматизацией браузера.
Ну и исходники Chromium тоже доступны.
-
Кто захочет сделать тоже самое - так тоже не работает
Проверил - почти все файлы в общей папке кеша заново перезаписываются раз в 2-3 дня, нет такого чтоб они собирались и росли все вместе со всеми профилями, и брали уже загруженый кеш друг у друга. И сама центральная папка не растет больше тех же 450-500мег
Вобщем этот вариант - не вариант, не тратьте свое время на эту схему) Максимум кеш каждого профиля сохраняйте в его же папку а по необходимости очистки места просто удалите её, точнее три их (cache, code cache и Service Worker)
-
@basuser123 не пробовали кеширующий прокси сервер себе поставить?
p.s. лично для меня дешевле вышло купить дополнительный ssd и отключить лимиты кеша браузера чем настраивать кальмара.