问题描述
更新:看起来这是Byebug的长期存在的问题:https://github.com/deivid-rodriguez/byebug/issues/487
当我在集群模式下使用Puma与多个工作人员一起使用Rails应用程序并且该应用程序正在处理并发请求时,byebug
和pry
会在终端上引起奇怪的行为。例如,我将尝试在断点处输入quit
,但是它将不确定地以qit
,ui
,qt
等形式出现。多次键入每个单独的字符(例如q
,u
,i
,t
),直到我得到所需的命令为止。
但是,即使我设法输入了正确的命令,它仍然会抱怨,即使正确地标有正确的命令,在按Enter键之后,qit
,ui
等也不存在。屏幕。如果我再按一次Enter键,即使提示中不再等待任何命令,它似乎仍在运行正确的命令(因为我已经第一次按Enter键了)。即使这样,我只能让它执行一次命令。之后,断点根本不起作用,我必须重新启动服务器。
在开发中以单一模式使用Puma时,我从来没有这个问题,但是在我的用例中,我必须在开发中使用多个工作程序。我在一个单独的Node进程中运行SSR,该进程在SSR期间将请求发出回Rails服务器。在单模式下,只有一个进程,SSR请求超时,因为Puma仍在等待浏览器请求,但是直到SSR完成,浏览器请求才能完成。在有多个工作进程的情况下,一个进程处理浏览器请求,而另一个进程处理SSR请求。
有人知道为什么会这样吗?请注意,在处理并发请求时,将byebug
和pry
与Unicorn和Passenger一起使用时,我也遇到了类似的问题。似乎是比任何一个图书馆更深的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)