Как ограничивать кол-во успешных/ошибочных выполнений для каждого из потоков?

Поддержка
  • Я уверен данная тема уже была, но я почему-то ее не нашел..
    У меня есть ресурс accounts в котором 2 аккаунта
    В ресурсах для accounts я указываю успешных выполнений 1, ошибочных 2
    3d8ffce6-83ee-4bf7-a452-04c2276ea998-image.png
    В общем кол-ве выполнений я указываю успешных выполнений 2, ошибочных - 4 (то есть кол-во успехов ошибок умноженных на кол-во аккаунтов/потоков)
    29a8b242-d3d0-4987-be02-58b4f10ba01d-image.png
    И типа я указал что в ресурсе максимально 2 ошибочных использования, но когда я тестирую скриптом выше (один поток ждем 3 секунды, а первый без задержек), то 1 поток забирает весь пулл в 4 ошибки, затем после паузы 2 поток выдает одну ошибку и все..
    1a27379e-7924-49ce-922e-b9705b9c7a34-image.png
    И я сижу уже несколько часов, смотрю гайд по ресурсам и многопотокам, но чет пока безуспешно..

  • Жадный Алгоритм может выключить.
    Зачем он вообще у вас включён, походу из за него и кутерьма эта получается :)))

  • @Alex84 Выключал, точно такая же фигня..

  • @keksrok Ну тогда может лучше через Глобальные переменные.
    В ОнАпликейшен ставить на Глобал переменную на 0 и где ошибки прибавлять и если второй раз или перезаписывать строку в другой файл и удалять её в текущем.
    Так же есть и вызов Функции в Много поток и через них лучше построить цепочку.

    Сейчас скоро появятся кто ещё и мож готовое решение есть и делали такое :)

  • А у вас то ещё и из Базы берётся я то про Файл всё думаю :)))
    Про Базу хз я ей не пользуюсь :)

  • @Alex84 Да я так подумал что можно и в принципе через кол-во успешных/ошибочных использований, типа если значение равно скажем 2, то сделать ошибку без перезапуска потока, тоже можно.. Но почему не работает фундаментальная фигня как ресурсы? Я смотрел уроки, и там было сказано, что если ресурс достигает указанного кол-ва успшных/ошибочных использований, то он удаляется из работы, у меня же такого не происходит

  • @Alex84 Да там без разницы откуда берется, я и с файлом пробовал, и с базой, нет разницы, и там и там 2 аккаунта в ресурсе, и не работает что там, что там...

  • @keksrok пока 2-й поток спит 3 сек., первый успевает 4 ошибки схватить - выполнено одно из условий, скрипт завершен) но в это время второй поток уже запущен, но спит. Поэтому скрипт перед завершением ждет окончания 2-го потока.

  • @nirvanius Я понимаю.. Так я и хочу что бы у каждого потока было не болше двух ошибок, что бы оно не забирало все 4. И в ресурсах я указал, что максимальное кол-во это 2 ошибки, то есть после двух ошибок аккаунт в ресурсе должен убираться из работы, но оно почему-то не работает.. Жадный не жадный алгоритм, тоже нет разницы

  • Вот еще провожу тест:
    Устанавливаю общее кол-во ошибок 9999
    Раз в ресурсах не работает кол-во ошибок, то сделаю это в скрипте:
    image.png
    Если кол-во ошибок равно 2, то я добавил и удалить текущий элемент в ресурсе, и сделать fail без перезапуска потока
    Запустил в 2 потока, и получается вот такая фигня:
    image.png
    У первого потока отрабатывает все правильно, он завершается быстро 3 ошибка, последняя это то что я прописал в скрипте. Но вот второй поток он не завершается.. И как видно элемент в ресурсе тоже не удаляется..

  • @keksrok так твой скрипт ресурс не использует, настройки ресурса тут вообще не причем... Скрипт только по количеству элементов в ресурсе выставил количество потоков. С таким же успехом ты мог просто прописать: 2 потока

  • Аааа, погоди ка, щас я еще протестирую, может я рил даун. Ну мля то ли я тупой, то ли лыжи не едут

  • @nirvanius Какой же я даун.. просто максимального левела. Я то думаю чего мои скрипты работают нормально, но когда тестирую тем что я показывал, происходит такая вещь, а все просто, как ты и сказал - я не использовал ресурс, потому кол-во ошибок установленное в ресурсе не преминялось к потоку