ruby - 由于 Nginx 是基于事件的服务器,Sleep 会停止 Nginx 吗?

标签 ruby nginx webserver node.js nonblocking

我认为,如果您设置了 setTimeout=1,那么 Node 服务器将在 1 秒内无法处理所有请求,因为它是基于事件的非线程 Web 服务器(如果我错了,请纠正我)。

我听说 Nginx 也是一个基于事件的 Web 服务器。这是否意味着如果我有 sleep 1 那么所有请求都会在 1 秒内停止?

最佳答案

I think if you have setTimeout=1 then the node server will be unavailable for all requests in 1 second since it's event-based, non-threaded web server (correct me if I'm wrong).

这是不正确的。 Node 有一个事件循环,因此当这一秒过去后,它将返回到 setTimeout 中的代码并运行它。在此期间,它将继续处理请求并完成工作。

请注意,如果你想停止一切,你会做 while(true){}

如果您有任何其他问题,请随时访问#node.js并提出问题。

关于ruby - 由于 Nginx 是基于事件的服务器,Sleep 会停止 Nginx 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3780422/

相关文章:

erlang - 选择 Erlang Web 服务器

browser - 如何使用浏览器发送授权 header

php - 如何使用 Apache、Php 和 Mysql 制作 "portable"web 应用程序?

ruby - 解码base64字符串并写入文件

Nginx:防止直接访问静态文件

url - Nginx merge_slashes 重定向

ssl - 带有 Nginx-Ingress-Controller 的 AWS 上 EKS 中的 gRPC

ruby - Ruby 如何确保每个数字只有一个实例?

Ruby 在调用方法之前检查是否为 nil

ruby-on-rails - bundle 安装尝试使用缓存文件