Как ограничить работу потока по времени и перезапускать его?



  • Всем привет!
    Я пока новичок в BAS.Но что-то уже умею,пока учусь не судите строго.Может я поделюсь чем-то что знаю по BAS.Н опока очень прошу помощи от знающих.Плиз...

    Задача такая:
    Нужно чтобы поток работал ограниченное время,например 300 секунд.Скрипт может выполнить работу и раньше и позже,могут быть ошибки и т.д. но в любом случае нужно сделать так чтобы он закончил работу ровно через заданное время (в данном случае 300 сек).Потом естественно запустился заново.

    Помогите плиз.В двух словах можно,тыкнете плиз пальцем.Буду очень преочень благодарен.

    Речь идёт не о самом приложении (скрипте).А конкретно о потоке.Или как правильно говорить о процессе.

    В общем чтобы я видел что прошло ровно 300 секунд и поток перезапустился и пошёл работать.



  • @bodlo said in Как ограничить работу потока по времени и перезапускать его?:

    Всем привет!
    Я пока новичок в BAS.Но что-то уже умею,пока учусь не судите строго.Может я поделюсь чем-то что знаю по BAS.Н опока очень прошу помощи от знающих.Плиз...

    Задача такая:
    Нужно чтобы поток работал ограниченное время,например 300 секунд.Скрипт может выполнить работу и раньше и позже,могут быть ошибки и т.д. но в любом случае нужно сделать так чтобы он закончил работу ровно через заданное время (в данном случае 300 сек).Потом естественно запустился заново.

    Помогите плиз.В двух словах можно,тыкнете плиз пальцем.Буду очень преочень благодарен.

    Речь идёт не о самом приложении (скрипте).А конкретно о потоке.Или как правильно говорить о процессе.

    В общем чтобы я видел что прошло ровно 300 секунд и поток перезапустился и пошёл работать.

    https://community.bablosoft.com/topic/4609/цикл-по-времени

    https://community.bablosoft.com/topic/2080/временной-показатель



  • @Fox спасибо за ответ, но, боюсь, ТС имел в виду не совсем это.
    ну или я хотел увидеть не такой ответ :)

    есть ли какая-то программная возможность гасить поток по таймауту?
    сверять не по действиям, а по какой-то внешней или общей настройке, что-то вроде закрытия процесса worker.exe

    пример:

    цикл
       условие
       игнорировать ошибки
          условие
          игнорировать ошибки
               условие
    цикл
      условие
      игнорировать ошибки
    

    это нужно прописать в каждом цикле, где он может бесконечно зависнуть, таймер с DATE_NOW

    п.с. или посоветуете складывать кубики не у3бански? :)



  • @eloventure said in Как ограничить работу потока по времени и перезапускать его?:

    @Fox спасибо за ответ, но, боюсь, ТС имел в виду не совсем это.
    ну или я хотел увидеть не такой ответ :)

    есть ли какая-то программная возможность гасить поток по таймауту?
    сверять не по действиям, а по какой-то внешней или общей настройке, что-то вроде закрытия процесса worker.exe

    пример:

    цикл
       условие
       игнорировать ошибки
          условие
          игнорировать ошибки
               условие
    цикл
      условие
      игнорировать ошибки
    

    это нужно прописать в каждом цикле, где он может бесконечно зависнуть, таймер с DATE_NOW

    п.с. или посоветуете складывать кубики не у3бански? :)

    Сейчас это можно сделать проще, через асинхронный запуск потоков. Первый поток будет запускать потоки, следить за временем их выполнения и завершать по необходимому условию


Log in to reply