Функция "Спать" не корректно работает



  • В общем задача такая - запустить скрипт в несколько потоков с задержкой 6 сек.

    Создаю onApplicationStart в ней создаю глобальную переменную SLEEP_TIME со значением 0.

    В Main первое действие "Спать" со значением SLEEP_TIME, следующее увеличить значение глобальной переменной на 6.

    Следующим действием дописываю вывод в лог значения переменной для наглядности.

    В итоге - в лог выводится всё верно - значение увеличивается, но в функции "Сон" не выполняется вообще.

    Если изначально прописать значение не 0, а например 5, всё-равно не отрабатывает.

    Вроде ж всё правильно составил, в чём причина?



  • @Qwerty77 В действии "Спать" время указывается в миллисекундах.



  • @spacerange я в курсе) Кстати не совсем правильно написал выше, первое значение исходное выполняется и всё. Увеличение только в логе - по факту нет



  • alt text
    alt text
    Лог:
    CUSTOM~LOG[~][gray]Скрипт запущен в 10 потоков и будет остановлен после 1 успешных выполнений или 1 неудачных выполнений или после использования всех ресурсов.
    CUSTOM~LOG[~][gray]Вы можете изменить эти параметры в режиме записи.
    CUSTOM~LOG[~][gray]
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №2 : 5000
    CUSTOM~LOG[+][green][02:35:30] Поток №2 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №3 : 11000
    CUSTOM~LOG[+][green][02:35:30] Поток №3 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №4 : 17000
    CUSTOM~LOG[+][green][02:35:30] Поток №4 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №5 : 23000
    CUSTOM~LOG[+][green][02:35:30] Поток №5 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №6 : 29000
    CUSTOM~LOG[+][green][02:35:30] Поток №6 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №7 : 35000
    CUSTOM~LOG[+][green][02:35:30] Поток №7 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №8 : 41000
    CUSTOM~LOG[+][green][02:35:30] Поток №8 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №9 : 47000
    CUSTOM~LOG[+][green][02:35:30] Поток №9 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №10 : 53000
    CUSTOM~LOG[+][green][02:35:30] Поток №10 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[.][black][508491610] [02:35:30] Поток №1 : 59000
    CUSTOM~LOG[+][green][02:35:30] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    CUSTOM~LOG[+][black][02:35:30] Скрипт завершен корректно



  • @Qwerty77 У вас 10 потоков по 1 разу выполнились. Вам нужно изменить тип запуска на "Повтор".



  • @spacerange в принципе я уже нашёл выход вот такой, что гораздо проще thread_number() * 6000

    В теме https://community.bablosoft.com/topic/2028/задержка-между-потоками/3

    Повтор здесь вообще не подходит, нужно не 10 раз повторить скрипт, а запустить в 10 потоков одновременно.



  • @Qwerty77 Да я не совсем понял что вам нужно. Только получается что вам не одновременно нужно запустить, а каждый поток с задержкой.



  • @Qwerty77 А не Проще Таймаут сделать в через Ресурс :)
    Его готовый можн взять в БАС в Скрипте Webvisitor или как он там :)))

    alt text

    alt text



  • @super84 что может быть проще, чем просто в "Спать" записать thread_number() * 6000? Но ваш вариант тоже неплох. Спасибо



  • @Qwerty77 said in Функция "Спать" не корректно работает:

    @super84 что может быть проще, чем просто в "Спать" записать thread_number() * 6000? Но ваш вариант тоже неплох. Спасибо

    Метод thread_number() сейчас находится в действии "Номер потока"

    e89feb14-89d6-434d-8537-3c8f2a2cf393-изображение.png


Log in to reply