@orlov1 said in Относительный путь к файлу проекта после компиляции:
Благодарю!
А еще в модуле Путь, есть путь к директории проекта
Софт работает так:
Запускается заданное количество потоков.
Если один поток завершается с ошибкой - он тут же перезапускается и увеличивает количество ошибок.
Тоже самое происходит с успехом.
Скрипт завершается при одном из 4 условий -
Действие Fail завершит поток с ошибкой и он будет тут же перезапущен.
Исходя из этого можно реализовать практически любую логику
@support Ну вот я подразумевал, что Прервать поток - прерывает его и не запускает новый. Как то пару месяцев назад мы говорили на эту тему, когда у меня была задача взять сразу несколько строк из ресурсов одним потоком, и была проблема. Не всегда можно предсказать сколько fail и success будет в скрипте. С таким экшном было бы больше возможностей с ручным управлением ресурсами в многопотоке. Можно вручную всегда проверить сколько строк в ресурсе и если там 0 - то прервать поток и не перезапускать ...
@support И ни всегда красиво, когда приложение завершается ошибкой, что закончились ресурсы, с Прервать поток это можно отслеживать в самом скрипте. Но если это трудно реализуемо, то впринципе, я пользуюсь вашим решением, когда потоки не прерываются, а спят и ждут потока, который при определенном условии, через экшн Прервать скрипт, завершает приложение...
@support И вот если например выставить количество успехов в 10, и один из потоков достигнет этого количества успехов, то все потоки ведь разом прервутся? Соответственно, будут потеряны ресурсы, так как часть потоков уже возьмет часть аккаунтов, а в сложных шаблонах и где-нибудь их задействует ...
Не всегда можно предсказать сколько fail и success будет в скрипте.
И вот если например выставить количество успехов в 10, и один из потоков достигнет этого количества успехов, то все потоки ведь разом прервутся?
А почему не выставить количество успехов в большое число и не угадывать?
@support у меня пока 2 причины, где мне бы был полезен этот экшн "Прервать поток". 1 - ручное управление ресурсами (самому взять, записать, удалить). Без этого экшна все ручное управление ресурсами имеет смысл только в однопотоке. 2 - Завершать скрипт записью в лог, что все ок, а не стандартной красной фразой, что слишком много ошибок и ресурсы закончились.
Если работаете со списком аккаунтом предлагаю такой сетап.
Успехи, неудачи в 10000
Потоки задает юзер.
Завершение по исчерпанию ресурса.
По сравнению с подходом предложенным в теме есть несколько преимуществ
Можно динамически менять число потоков.
Не нужно самостоятельно выставлять число успехов/неудач.
Вот, программа полностью выключится, когда в файле аккаунтов станет пусто. Полностью, даже если неудач будет 100к, то получение аккаунта, у меня в скрипте идёт первое, то есть там буквально за 15-20 минут вырубается.
!Но при этом если предыдущие потоки не закончили свою работу, то вся программа - всё равно останавливается. Вот по этому и интересует момент не перезапуска потока, а именно отключение как бы.
Насчёт "вечного сна" - о такой реализации уже подумал, но ведь при этом у нас получается лишний открытый браузер и т.д
@support said in Закрытие потока после выполнения задачи.:
Скрипт завершается при одном из 4 условий -
Достигнуто макс количество успехов.
Макс количество неудач.
Использованы все ресурсы.
Вызвано "Прервать Скрипт"
Тут именно идёт завершение скрипта, и он заново начинает с нуля, если успех или ошибок хватает. А наша цель, что бы он отработал - и больше не перезапускался, а остальные потоки, которые еще не закончили своё дело - продолжили работать полноценно.
Большой лимит ошибок - не спасает, так как именно поток который закончил - очень быстро их все использует, так как у нас БОЛЬШЕ нету аккаунтов, а он всё получает и получает.
@kibec Если брать ресурсы ни в ручную, а через {{ }}, то прерываться не должно, потому что мне уже админ объяснил, что как только поток берет ресурс, то он лочится, а с залоченными ресурсами скрипт прерваться не может. (т.е. при попытке взять ресурс из пустого списка, скрипт не прервется, пока список залочен)