@FastSpace said in Проблема при многопоточной работе с ресурсом:
@sayado колличество элементов в ресурсе. Меньше чем x, ждать пока появится больше
?? как мне "ждать пока появится больше"?
Не могу додуматься (Зеленый еще) как настроить логику чтоб при многопотоке каждый поток брал разный профиль
(взял профиль - отработал - перенес в другую папку - с эти вопросов нет)
Бывает такое что к примеру 5 и 14 поток берут один и тот же профиль
Пробывал извращатся - создавал в отдельной папке файл с именем профиля который сейчас в работе = тоесть в работу профиль поток взял, создал файл - другой поток взял профиль и чекает есть ли файлик с именем потока - если есть - то берет другой профиль (естественно по окончании работы - профиль переносится в другую папку - а сам файлик с именем потока удаляется ) == но и тут тоже бывает проскакивает что один и тот же профиль у нескольких потоках одновременно
Пробывал ставить тайминги - номер потока+2 секунды сна = оже бывает проскакивает что один и тот же профиль у нескольких потоках одновременно
Как вот правильно это победить?) можно с примером?)
Большое спасибо!
@persiss Работай с асинхронными функциями в цикле, внутри асинхронных функций работай с профилями.
Если не понимаешь о чем я написал - тогда называй профили 1,2,3,4,5 и для доступа к ним используй # потока при выполнении скрипта.
Поток #1 обращается к профилю #1.
Если это тоже не подходит, то используй списки: загружай в список все профили которые тебе нужно обработать и обрабатывай так же # Поток = # Элемента в списке, когда поток берет данные из списка - удаляй их оттуда
@persiss Попробуйте этот Шаб - https://community.bablosoft.com/topic/14675/как-загрузить-браузер-с-куками-из-папки/4
Он у меня там через onApplicationStart работает и вот я чёт не раз не замечал что бы чёт там путалось.
Но вот зато там же в onApplicationStart можно в одном Кубике Ресурс, указать Число Повторных заходов Профилей.
Обычно же как все Отработали так и Стоп Скрипт, а там можно задать им сколько кругов мотнуть ещё мол :)))