YAWS を使用してリモート アプリケーションにサービスを提供しています。yaws.conf ファイルに変更があるたびに、これらの変更を有効にするためにサーバーを再起動しています。サーバーが一定時間以上ダウンすると、アプリケーションがクラッシュする可能性があるため、これを行いたくありません。
ライブコード更新のように、サーバーを停止せずに新しい構成ファイルをロードする方法はありますか?
対話型シェルから次のコマンドを使用して、サーバーを再起動せずに Yaws 構成ファイルをリロードできます。
yaws --hup --id ID
この--id ID
部分はオプションです — 複数の Yaws インスタンスを実行している場合、リロードする特定の Yaws サーバーを識別できます。
yaws_api:setconf(GC, SCList) があります。これは主に「埋め込まれた」Yaws を実行するためのものです (つまり、Yaws を別のアプリケーションとして起動するのではなく、独自のスーパーバイザーの 1 つの下で)。ただし、それを行うと、Yaws は新しい構成をセットアップするために、既存のすべてのポートと接続を破棄します。最初の質問は、Yaws アプリケーション全体を再起動するのにかかる時間を測定しましたか? 構成を再ロードするよりもわずかに遅いだけかもしれません。その場合、実際には何も得ることなく、コードをより複雑にすることになります。