рандомизация во многопотоке



  • Есть список с аккаунтами,регуляркой делю логины и пароли(с записью в переменную),скрипт считает количество и вызывает функцию в несколько потоков.Все вроде бы хорошо,но при выполнении в несколько потоков,не работает рандомизация времени(до 1-й минуты) перед авторизацией и не записываются логины и пароли(строки пустые).Акки берутся из ресурса(файл) и записываются в список с последующим удалением.В режиме записи все отлично работает



  • основная проблема в том,что не работает "спать случайное время"



  • @paini А если поставить вместо рандомизации вывод в лог любого текста он работает?



  • нет,так тоже не работает.Причину нашел,дело было в метках...Суть в том,что функция для одного потока и функция для мульти использовали одни и те же метки,поэтому скрипт хоть и вызывал функцию в несколько потоков,но не ту (для одного потока) что очень странно.Осталось теперь сделать один акк - один поток



  • @paini said in рандомизация во многопотоке:

    Осталось теперь сделать один акк - один поток

    Используйте ресурсы



  • @fox
    Я так и делаю,но дело в том,что не всегда берутся разные акки.Запускается скрипт,вызывается функция,в ней делаем ресурс в список,считаем количество элементов (количество аккаунтов) и на этом основании запускаем следующую функцию в несколько потоков.Проблемой здесь является теперь список,то есть я так понимаю хоть и список - ресурс,видимо в многопоточной функции это игнорируется,так же игнорируется глобальная переменная (тот же список который я пытался провернуть и таким образом).Работает только если в каждом потоке,вызывается ресурс в список (причем при установки макроса notreuse ничего вообще не работает) и берется случайный элемент с последующим удалением,но такой вариант берет иногда одинаковые аккаунты,так как в каждом потоке все начинается заново(создается список) и получается,что удаление элемента в данном случае бесполезно.Извините,если запутал...Основной вопрос,как сделать предварительно список и использовать его в вызове многопоточной функции?(Как просто использовать в многопотоке знаю,а с вызовом функции не работает такой фокус)Забегая вперед,задам еще один...Каждый аккаунт должен выполнить определенное действие от 50 до 150 раз и завершиться с успехом,но в ходе действия скрипта некоторые потоки будут завершаться полюбому с ошибкой и запускаться заново,как оставить те же аккаунты на потоки при краше?Хотя я думаю можно будет множество вариантов продумать вылечив основную проблему)))



  • @paini обернуть опасные места в игнорирование ошибок