Рестарт по расписанию



  • возможно тема заезженная, но все же: как грамотно/корректно, принудительно рестартить потоки?

    Сейчас делаю так: раз в N времени шедуллером дергаю батник

    @ECHO OFF
    taskkill /IM FastExecuteScript.exe /f /T
    timeOut /t 5 /nobreak
    start FastExecuteScript.exe --silent
    

    вроде все ок, но иконки в трее остаются после taskkill и накапливаются :)



  • @Sevenup В самой логике скрипта создать условие, для перезапуска. При выполнении которого запускается батник:

    @ECHO OFF
    sleep 60
    start FastExecuteScript.exe --silent
    

    а следом экшен прервать скрипт с галкой "Завершить скрипт мгновенно".



  • Хотя завершённый скрипт всё равно будет висеть в процессах.. хмм..



  • @Fox said in Рестарт по расписанию:

    Хотя завершённый скрипт всё равно будет висеть в процессах.. хмм..

    да, в том то и дело, я уже и так и так эксперементировал. Отдельно убить процесс по ПИДу можно было бы, но в БАСе нет возможности пид воркера получить. Потому приходится вот так жестоко килять все и запускать заново :(



  • Скрипт запущенный с параметром silent будет завершаться полностью.
    У меня это так работает. 4 раза в день по расписанию запускается скрипт и после завершения работы никаких окон не остается.



  • я в общем не нашел иного решения как: написал програмулину, которая висит в процессах на каждом из инстансов с БАСом, по pub/sub получает мессаджи мол что ей нужно сделать, например прилетел мессадж "restart" тогда она киляет FastExecuteScript.exe и все его дочерные процессы, т.е воркеры, а потом снова запускает в режиме silent. При запуске проект лезет на сервер и получает например уже новое к-во потоков с которым ему нужно запуститься. Таким жестоким образом можно даже удаленно менять к-во потоков на каждом инстансе :)

    а может ли кто простыми словами объяснить разницу между запуском FastExecuteScript.exe и RemoteExecuteScript.exe? Собственно в 2м случае происходит а проверка на обновление движка и при необходимости повторная компиляция проекта?


Log in to reply