Event Machine 聊天服务器停止,没有错误跟踪
Event Machine chat server stops without error trace
我修改了 EventMachine 的 SimpleChatServer 示例,以使用 Rails 应用程序作为聊天服务器。我在单独的线程中初始化聊天服务器,如下所示。
Thread.new {
puts "I entered a new thread"
EventMachine.run do
puts "I entered a new thread"
EventMachine.start_server("0.0.0.0", 3100, SimpleChatServer)
end
}
我在 VPS 运行 apache 上托管了我的应用程序,并且正在使用 Phusion Passenger 为 rails 应用程序提供服务。聊天服务器运行完美,除了一个问题:服务器会在几分钟后自动停止。当我检查错误日志时,我发现与关机无关。然而,我观察到的一件有趣的事情是关机的一种奇怪行为:在我所在的白天(上午 11 点 - 下午 5 点),聊天服务器在启动几分钟后停止(我的时区比我服务器的时区早 10 小时).然而,在我这边的夜间,服务器一直在 运行 上,没有关闭。这种奇怪的行为让我陷入困境。
我自己的假设是,在我白天,VPS 有更多的负载要处理,因此它会终止聊天服务器线程。我能以某种方式避免这种情况吗?我也很想知道这种奇怪行为是否还有其他原因。请帮我解决这个问题
补充:当我检查我的错误日志时,我看到了这个。
“[ 2015-03-06 08:00:20.5859 25041/7f20f1439700 agents/HelperAgent/Main.cpp:722 ]:断开进程 25069 的长 运行 连接”
这里 25069 是我的聊天服务器的 PID。我怎样才能避免这种情况?我怎样才能指示 linux 永远不要终止我的进程?
很久以前,我在 github 上的一个帖子中找到了解决这个问题的方法。该进程被终止是因为 passenger 终止空闲应用程序以节省内存。为了禁用它并保持我的进程 运行,我需要在我的乘客配置中设置 max_pool_idle_time to 0
。这是原始线程的 link:https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html#_configuring_phusion_passenger
我修改了 EventMachine 的 SimpleChatServer 示例,以使用 Rails 应用程序作为聊天服务器。我在单独的线程中初始化聊天服务器,如下所示。
Thread.new {
puts "I entered a new thread"
EventMachine.run do
puts "I entered a new thread"
EventMachine.start_server("0.0.0.0", 3100, SimpleChatServer)
end
}
我在 VPS 运行 apache 上托管了我的应用程序,并且正在使用 Phusion Passenger 为 rails 应用程序提供服务。聊天服务器运行完美,除了一个问题:服务器会在几分钟后自动停止。当我检查错误日志时,我发现与关机无关。然而,我观察到的一件有趣的事情是关机的一种奇怪行为:在我所在的白天(上午 11 点 - 下午 5 点),聊天服务器在启动几分钟后停止(我的时区比我服务器的时区早 10 小时).然而,在我这边的夜间,服务器一直在 运行 上,没有关闭。这种奇怪的行为让我陷入困境。
我自己的假设是,在我白天,VPS 有更多的负载要处理,因此它会终止聊天服务器线程。我能以某种方式避免这种情况吗?我也很想知道这种奇怪行为是否还有其他原因。请帮我解决这个问题
补充:当我检查我的错误日志时,我看到了这个。 “[ 2015-03-06 08:00:20.5859 25041/7f20f1439700 agents/HelperAgent/Main.cpp:722 ]:断开进程 25069 的长 运行 连接” 这里 25069 是我的聊天服务器的 PID。我怎样才能避免这种情况?我怎样才能指示 linux 永远不要终止我的进程?
很久以前,我在 github 上的一个帖子中找到了解决这个问题的方法。该进程被终止是因为 passenger 终止空闲应用程序以节省内存。为了禁用它并保持我的进程 运行,我需要在我的乘客配置中设置 max_pool_idle_time to 0
。这是原始线程的 link:https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html#_configuring_phusion_passenger