我正在使用 YAWS 为我的远程应用程序提供服务。当 yaws.conf 文件发生更改时,我将重新启动服务器以使这些更改生效。我不想这样做,因为如果服务器停机超过一定时间,我的应用程序可能会崩溃。
那么有没有办法在不停止服务器的情况下加载新的配置文件,比如实时代码更新?
您可以在交互式 shell 中使用以下命令重新加载 Yaws 配置文件,而无需重新启动服务器:
yaws --hup --id ID
其中--id ID
部分是可选的——如果您正在运行多个 Yaws 实例,它可以让您确定要重新加载的特定 Yaws 服务器。
有 yaws_api:setconf(GC, SCList),主要用于“嵌入式”运行 Yaws(即,在您自己的主管之一下,而不是将 Yaws 作为单独的应用程序启动)。但是当你这样做时,Yaws 仍然会拆除所有现有的端口和连接以设置新的配置。所以第一个问题是:你测量过重启整个 Yaws 应用程序所需的时间吗?它可能只比重新加载配置稍微慢一点,在这种情况下,您会使您的代码更加复杂,而不会真正获得任何东西。