首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一次接收多个请求时Rails 5服务器挂起

一次接收多个请求时Rails 5服务器挂起
EN

Stack Overflow用户
提问于 2018-04-19 07:38:43
回答 2查看 1.1K关注 0票数 6

我使用Puma开发的Rails 5服务器在一次从单独的前端应用程序发送多个请求到Rails API时一直保持冻结和挂起。没有错误,它只是挂在POST请求上。当我试图用CTRL + C杀死服务器时,什么都不会发生。我得手动杀死港口。

我已经尝试将config.eager_load=true设置为development.rb。我尝试过在config.allow_concurrency中添加application.rb。我一直在谷歌上搜索,但没有结果。我正在从前端同时发送大约5个请求,所以我相信这个数量的请求是导致它的原因,但我不确定。

有没有其他人经历过这种情况,或者对这里需要做些什么有什么想法?我通常可以得到所有的请求返回到前端成功的3-4次,然后服务器只是冻结。

尤其是在服务器运行时,我更改了项目中任何文件中的任何一行代码后,就会发生这种情况。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-01 07:40:02

已经将近两年了,但我终于偶然发现了导致我的问题的原因。

基本上,它归结为我的代码中的一个方法,它不是线程安全的。因为我的current_user变量只能从我的控制器中访问,所以我的基本控制器上有一个before_action来将当前用户分配给User.current,这样我就可以通过User.current访问当前用户,而不仅仅是在控制器中。

因此,请确保您没有在控制器中动态更新类,比如我。它不是线程安全的。最后,我采用了这个线程安全解决方案,而不是针对我的特殊情况:https://stackoverflow.com/a/2513456/7629239

票数 2
EN

Stack Overflow用户

发布于 2018-04-19 20:17:09

你的美洲狮配置是什么?有多少线程和工作人员(美洲狮工人不是rails工人)。

确保您的美洲狮有足够多的线程,并且您的db池足够大。更改一行代码不应导致服务器耗尽资源。你用的是守望员吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49915326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档