Сделайте OnApplicationEnd



  • Сделайте пожалуйста аналог OnApplicationStart но чтоб в конце после окончания всех потоков запускалась. Ведь нужно инфу не только подготавливать в отдельном потоке, но и сохранять результат.

    Например время окончания программы как сделать? Если сделать сохранение текущего время в конце потока, тогда потоки будут постоянно долбится и пересохранять время своего окончания.

    А так будет финишная отдельная функция, в которую вытянем с глобальных переменных нужную инфу и сохраним.


  • administrators

    @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
    К сожалению это можно реализовать только написанием функции сохранения куков. И потом применять эту функцию во все скриптах после каждого действия(которое может привести к изменению куков) Лишняя нагрузка, но зато надежно.



  • Попробовал через эти функции в несколько потоков сделать так что бы скрипт не нужно было перезапускать посторонним софтом.

    Не знаю как теперь получать отчеты о удачных завершениях и неудачных. Нужны именно неудачные что бы знать какие проблемы возникают.
    0_1498823721732_upload-095ff93e-1431-484a-b09f-009c7bf5655a
    Вариант обернуть весь скрипт в игнор ошибок и выводить куда-то текст ошибок кажется диким, или может кто-то уже делал так?)


  • administrators

    @venom777 Добавлю в следующем релизе.

    Не знаю как теперь получать отчеты о удачных завершениях и неудачных.

    Сейчас только через игнор ошибок.



  • Подскажите есть ли в последней версии BAS возможность сделать OnApplicationEnd ? То что можно вызывать функции в несколько потоков, это я в курсе. Но все же, не понятно, как вызвать функцию в самом конце работы скрипта, когда все потоки отработали?



  • @Gang, нет. Тут имеется ввиду, что ты запускаешь один поток, в нем запускаешь функцию в несколько потоков, а после отработки этой функции можешь запустить другую функцию в один поток. Это и будет по функционалу аналог OnApplicationEnd.