当前位置:  开发笔记 > 运维 > 正文

如何使用Byebug与Sidekiq和Foreman

如何解决《如何使用Byebug与Sidekiq和Foreman》经验,为你挑选了0个好方法。

我有一个rails应用程序,我使用foreman启动我的rails和sidekiq服务器.由于工头与常规的byebug不能很好地交互(你在输入时看不到提示),我已经为我的rails和sidekiq服务器设置了远程调试.这适用于rails服务器,但是当我连接到sidekiq服务器的byebug服务器时,我得到以下内容:

$ bundle exec byebug -R localhost:58501
Connecting to byebug server localhost:58501...
Connected.
(byebug:ctrl)

而且我无法抓住任何一个比赛断点.

根据该文件,在(byebug:CTRL)提示意味着程序正常结束(https://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md),但sidekiq正在运行的工作就好了.

我的配置中是否有不正确的内容,或者sidekiq与byebug的远程调试不兼容?

Procfile:

sidekiq: bundle exec sidekiq
rails: rails server

配置/初始化/ byebug.rb:

if Rails.env.development?
  require 'byebug'

  def find_available_port
    server = TCPServer.new(nil, 0)
    server.addr[1]
  ensure
    server.close if server
  end

  port = find_available_port

  puts "Starting remote debugger..."
  Byebug.start_server 'localhost', port
  puts "Remote debugger on port #{port}"
end

请注意,当我不使用远程调试时,byebug与sidekiq一起运行良好(虽然在工头我无法看到我输入的提示).

另请注意,我之前尝试过使用Byebug.wait_connection = trueByebug.start_server,但我遇到了同样的问题.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有