gpt4 book ai didi

bash - Wakanda 服务器脚本干净关闭

转载 作者:行者123 更新时间:2023-11-29 09:01:32 25 4
gpt4 key购买 nike

通过 OS X shell 脚本完全关闭 Wakanda 服务器的最佳做法是什么?

这将与当前加载和运行的解决方案一起使用。

最佳答案

即将发布的 1.1.0 版本的最佳实践:

  • 处理applicationWillStop service 上的事件处理应用程序特定的关闭逻辑
  • service wakanda stop对于 Ubuntu 和普通的 kill对于 Mac OS(kill -9 应该始终是某种超时后的最后手段,但这不再是必需的)

当前版本 1.0.x 的最佳实践:

  • 使用 HTTP Request Handler 准备服务器停止或其他方法(确保很好地保护它并只接受来自本地主机的连接)
  • service wakanda stop对于 Ubuntu 和普通的 kill对于 Mac OS(kill -9 应该始终是某种超时后的最后手段,但这不再是必需的)

更多详情:

我们应该区分像 Apache 这样的 HTTP 服务器和像 Wakanda Server 这样的应用程序服务器。

例如,当您使用 SharedWorker在 Wakanda 中,您正在创建一个单独的线程来运行一些代码。假设该工作人员正在进行某种关键数据操作。如果您让服务器为您关闭该工作程序,则可能会导致您的应用程序中的数据不一致。因此,您应该在服务器停止应用程序之前处理任何特定于业务逻辑的“干净”关闭。

从版本 1.1.0 开始,不再创建特殊的 HTTP Request Handler您可以调用它来准备服务器的停止,您可以使用处理事件的服务 applicationWillStop .

当服务器接收到可阻止的终止信号(TERM、QUIT、INT)时,它将启动停止过程(以下适用于 Wakanda Digital App Factory 1.1.x 版本):

  • 通知事件的每个服务applicationWillStop
  • 通知事件的每个服务httpServerWillStop
  • 等待所有服务代码执行完成 - 一次调用一个服务(服务器等待处理事件的代码在调用下一个服务之前结束其执行) -
  • 拒绝任何新传入的 HTTP 请求
  • 处理 HTTP 服务器队列中的所有 HTTP 请求
  • 要求所有执行 JS 代码的工作线程和线程停止执行(包括请求处理程序代码)。
  • 检查是否有任何线程/JS 上下文仍然处于事件状态,如果是,最多等待 5 秒。
  • 服务器强制所有 JavaScript 上下文停止执行,并且杀死所有剩余的线程
  • 服务器等待线程关闭
  • 服务器停止

在 1.1.0 之前的版本中,服务器会在通知服务有关关闭事件之前要求工作人员关闭。这就是为什么我们不能依赖服务来彻底关闭 SharedWorkers 的原因。 .

关于bash - Wakanda 服务器脚本干净关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35671411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com