Установка таймаута для самого скрипта может быть проблемой, потому что вы можете не захотеть сбрасывать его, если это действительно не нужно (например, когда он истекает).
Что-то, что я использовал давным-давно, было следующимconcept.
У меня было два сценария, один отслеживал другой.
Функциональный сценарий записывал бы файл с отметкой времени после каждого завершенного цикла (я предполагаю, что вы выполняете какой-топетля).
Теперь скрипт монитора будет очень простым, он будет проверять файл метки времени каждые 30 секунд, и как только он обнаружит, что метка времени слишком старая (например, не обновлена недавно), он отобразит строку JS, которая будетповторно открыть функциональный скрипт в новом окне.Таким образом, функциональный скрипт будет снова открыт только после того, как он перестанет работать.
Сценарий мониторинга будет отображать строку JS, чтобы обновляться каждые 30 секунд (используя settimeout).При таком подходе вы будете симулировать, что вы находитесь за компьютером и ожидаете, пока сценарий прекратит работу и перезапустит его.
Дайте мне знать, если вам нужны примеры с этим, но именно так вы можете решить эту проблему.