fyi, могут быть проблемы с процессами Go, которые не перезапускаются при сбое из-за panic()
который выходит из программы с кодом выхода 2.
Обсуждение здесь: https://groups.google.com/forum/#!msg/golang -nuts / u9NgKibJsKI / XxCdDihFDAAJ
Проблема с Go-lang: https://github.com/golang/go/issues/24284
Спасибо!
ps Я не уверен, почему конфигурация exitcodes
умолчанию равна 0,2, а не просто 0
Я собираюсь закрыть эту проблему, потому что ожидаемые коды выхода уже можно изменить с помощью exitcodes=
в файле конфигурации. Вам может потребоваться изменить это значение для конкретной программы ( go
или иначе).
ps Я не уверен, почему коды выхода конфигурации по умолчанию равны 0,2, а не просто 0
Я не уверен. Я подозреваю, что это произошло из-за того, что некоторые команды возвращают статус выхода 2 из-за неправильных аргументов. Я думаю, что исходная идея могла заключаться в том, что повторный запуск команды с неверными аргументами не может быть успешным, поэтому не перезапускайте ее автоматически по умолчанию.
Мы приближаемся к другой основной версии Supervisor, поэтому у нас есть возможность изменить значение по умолчанию для exitcodes=
. В 837c159ae51f3bf12c1d30a8cb44f3450611983c я изменил его с 0,2
на просто 0
. Я думаю, что повторный перезапуск программы с неверными аргументами расточителен, но, вероятно, это не проблема, но неспособность распознать сбой программы Golang, вероятно, будет проблемой.