((Nginx + Passenger)与Rails_max_requests设置一起使用时,运行线程的Rails被杀死

问题描述 投票:0回答:1

我的Nginx + Passenger设置如下:

passenger_max_pool_size 6;
passenger_max_requests 600;

并且在我的Rails Controller中,我以以下方式使用线程来执行excel导入:

t = Thread.new do
 @json_response = Import::Admin.create_admin_user params
end

我遇到的问题是,在该进程处理了600个请求之后(为避免内存泄漏而设置的限制),即使上述线程仍在运行并在其上运行,它也会关闭该进程。

ruby-on-rails ruby nginx passenger
1个回答
0
投票

您使用的线程不正确,服务器不会等待线程完成。如果需要执行重量计算,请使用后台作业。例如带有Sidekiq的ActiveJob。

© www.soinside.com 2019 - 2024. All rights reserved.