Сделайте OnApplicationEnd
-
Сделайте пожалуйста аналог OnApplicationStart но чтоб в конце после окончания всех потоков запускалась. Ведь нужно инфу не только подготавливать в отдельном потоке, но и сохранять результат.
Например время окончания программы как сделать? Если сделать сохранение текущего время в конце потока, тогда потоки будут постоянно долбится и пересохранять время своего окончания.
А так будет финишная отдельная функция, в которую вытянем с глобальных переменных нужную инфу и сохраним.
-
@Gang Согласен, но будут стадии выполнения скрипта, это круче.
-
@support said in Сделайте OnApplicationEnd:
@Gang Согласен, но будут стадии выполнения скрипта, это круче.
Супер!!!
-
@support Здравствуйте, стадии выполнения скрипта ещё не реализовали?
-
@OLEG said in Сделайте OnApplicationEnd:
@support Здравствуйте, стадии выполнения скрипта ещё не реализовали?
Позволю себе ответить )
Они готовы уже очень давно )
-
@xclsv что за стадии и где их найти?)
-
@xclsv, разве имеются ввиду функции? Они давно уже внедрены, да, и в обучающих видео порой значатся, как стадии. Но @support написал про стадии в середине марта 2017. Что он имел ввиду? Загадка прям :)
-
@UA стадии - это запуск функции в несколько потоков, это уже готово, даже есть рускоязычное видео с пояснением. Вводим в ютуб twaego - это канал, на котором ввкладываются видео по бас, и смотрим
-
@DrPrime, я в курсе, знаю это видео ;)
-
Может я что то пропустил..
Сделайте пожалуйста аналог OnApplicationStart но чтоб в конце после окончания всех потоков запускалась.
То есть появилась функция OnApplicationEnd, которая срабатывает по завершению всех потоков?
-
@Fox нет
но теперь можно создать основную функцию, куда поместить все нужные части скрипта и выполнить сколько угодно раз в любое количество потоков, а после нее создать функцию, которая отработает перед завершением скрипта
-
@UA said in Сделайте OnApplicationEnd:
@xclsv, разве имеются ввиду функции? Они давно уже внедрены, да, и в обучающих видео порой значатся, как стадии. Но @support написал про стадии в середине марта 2017. Что он имел ввиду? Загадка прям :)
Думаю, то, что конкретно имел ввиду автор - не самый важный вопрос )
Все-таки важнее то, что есть стадии для Вас )
Лично для меня это промежуточные стадии скрипта, выполняемые в разное количество потоков с гибкими настройками. Вполне удобно реализовано через функции. За мелкими недочетами )
-
Но всетаки это не совсем что просил автор. Было бы удобно чтобы при ручной остановке скрипта отрабатывал нужную функцию.
Например: сохранение/обновление cookie в файл, независимо от того когда именно остановился скрипт.
Или это можно реализовать?
-
@DrPrime said in Сделайте OnApplicationEnd:
, а после нее создать функцию, которая отработает перед завершением скрипта
И перед ручной остановкой?
-
@OLEG said in Сделайте OnApplicationEnd:
Но всетаки это не совсем что просил автор.
То, что просил автор, реализуется с использованием текущего функционала программы.
-
@OLEG
К сожалению это можно реализовать только написанием функции сохранения куков. И потом применять эту функцию во все скриптах после каждого действия(которое может привести к изменению куков) Лишняя нагрузка, но зато надежно.
-
Попробовал через эти функции в несколько потоков сделать так что бы скрипт не нужно было перезапускать посторонним софтом.
Не знаю как теперь получать отчеты о удачных завершениях и неудачных. Нужны именно неудачные что бы знать какие проблемы возникают.
Вариант обернуть весь скрипт в игнор ошибок и выводить куда-то текст ошибок кажется диким, или может кто-то уже делал так?)
-
@venom777 Добавлю в следующем релизе.
Не знаю как теперь получать отчеты о удачных завершениях и неудачных.
Сейчас только через игнор ошибок.
-
Подскажите есть ли в последней версии BAS возможность сделать OnApplicationEnd ? То что можно вызывать функции в несколько потоков, это я в курсе. Но все же, не понятно, как вызвать функцию в самом конце работы скрипта, когда все потоки отработали?
-
@Gang, нет. Тут имеется ввиду, что ты запускаешь один поток, в нем запускаешь функцию в несколько потоков, а после отработки этой функции можешь запустить другую функцию в один поток. Это и будет по функционалу аналог OnApplicationEnd.
-
@Antonio said in Сделайте OnApplicationEnd:
@Gang, нет. Тут имеется ввиду, что ты запускаешь один поток, в нем запускаешь функцию в несколько потоков, а после отработки этой функции можешь запустить другую функцию в один поток. Это и будет по функционалу аналог OnApplicationEnd.
Это выходит в тех скриптах где я хочу сделать OnApplicationEnd мне всегда нужно запускать скрипт в 1 базовый поток, а многопоточность, количество успехов/неуспехов задавать уже в настройках запуска функции в несколько потоков. Верно? То есть базовый поток всегда один и не больше, и этот поток уже в свою очередь будет порождать другие потоки? То есть этот базовый один поток просто как подложка для вызова функции в несколько потоков?