Загрузка нового файла конфигурации рыскания во время работы на рысканье

Я использую YAWS для обслуживания своего удаленного приложения. Когда когда-либо происходит изменение в файле yaws.conf, я перезапускаю сервер, чтобы эти изменения вступили в силу. Я не хочу этого делать, потому что мое приложение может аварийно завершить работу, если сервер не работает дольше определенного времени.

Так есть ли способ загрузить новый файл конфигурации без остановки сервера, например, при обновлении кода в реальном времени?


person Gokul    schedule 16.08.2013    source источник
comment
Если вам также необходимо перезагрузить модули appmod, вам может пригодиться следующая команда: $ yaws --load your_appmod_module1 your_appmod_module2   -  person Ning    schedule 17.08.2013


Ответы (2)


Вы можете использовать следующую команду из интерактивной оболочки, чтобы перезагрузить файл конфигурации Yaws без перезапуска сервера:

yaws --hup --id ID

где --id ID часть является необязательной, если вы запускаете несколько экземпляров Yaws, она позволяет вам определить, какой именно сервер Yaws вы хотите перезагрузить.

person Steve Vinoski    schedule 16.08.2013
comment
Конечно, --hup - какое очевидное название для этой опции. ;-) - person RichardC; 17.08.2013
comment
Не совсем очевидно, согласен. Параметр назван в честь SIGHUP, который традиционно отправляется, чтобы заставить демонов UNIX перечитать свои конфигурации. Параметр также объясняется, если вы запустите yaws --help. - person Steve Vinoski; 20.08.2013
comment
Ха. На самом деле это очевидное имя, настолько очевидное, что я бы не догадался о нем (например, когда вы смотрите вверх и вниз для команды run, и оказывается, что она называется ... run). Теперь я никогда этого не забуду. - person zxq9; 01.12.2014

Есть yaws_api: setconf (GC, SCList), в основном предназначенный для запуска Yaws «встроенным» (то есть под одним из ваших собственных супервизоров вместо запуска Yaws как отдельного приложения). Но когда вы это сделаете, Yaws по-прежнему отключит все существующие порты и соединения, чтобы настроить новую конфигурацию. Итак, первый вопрос: измерили ли вы время, необходимое для перезапуска всего приложения Yaws? Это может быть ненамного медленнее, чем перезагрузка конфигурации, и в этом случае вы усложните свой код, не получив при этом ничего особенного.

person RichardC    schedule 16.08.2013