ruby-on-rails - Sidekiq worker 每两秒显示 'ERROR: heartbeat: "\xE 2"from ASCII-8BIT to UTF-8'

标签 ruby-on-rails terminal sidekiq worker

我是一名初级开发人员,正在开发在前端使用 React 的 Ruby on Rails 应用程序。最近我开始收到这个错误,不知道是什么原因造成的。谁看过这个吗?
enter image description here
如果图像没有显示这是终端返回的内容:

2020-08-14T16:14:36.743Z 37931 TID-oxmbyiczg INFO: See LICENSE and the LGPL-3.0 for licensing details.
2020-08-14T16:14:36.743Z 37931 TID-oxmbyiczg INFO: Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org
2020-08-14T16:14:36.743Z 37931 TID-oxmbyiczg INFO: Booting Sidekiq 5.0.5 with redis options {:id=>"Sidekiq-server-PID-37931", :url=>nil}
2020-08-14T16:14:36.748Z 37931 TID-oxmbyiczg INFO: Starting processing, hit Ctrl-C to stop
2020-08-14T16:14:36.757Z 37931 TID-oxmddbzao ERROR: heartbeat: "\xE2" from ASCII-8BIT to UTF-8
2020-08-14T16:14:41.773Z 37931 TID-oxmddbzao ERROR: heartbeat: "\xE2" from ASCII-8BIT to UTF-8
2020-08-14T16:14:46.776Z 37931 TID-oxmddbzao ERROR: heartbeat: "\xE2" from ASCII-8BIT to UTF-8
2020-08-14T16:14:51.783Z 37931 TID-oxmddbzao ERROR: heartbeat: "\xE2" from ASCII-8BIT to UTF-8```

最佳答案

一点背景:processSets 迭代工作人员,然后他们每五秒向 redis 发送一次心跳,以检查正常运行时间和与 redis 实例的连接。
首先我会检查 Encoding::default_external在服务器和客户端机器上并确保 Encoding::UTF_8为两者设置。其次确保config.encoding = "utf-8"设置在 application.rb worker 正在运行的地方。
但以上都是非常笼统的,并没有解释你所看到的错误,它来自这个块:

def ❤(key, data)
  begin
    # logic
  rescue => e
    # ignore all redis/network issues
    logger.error("heartbeat: #{e.message}")
  end
end
以上是从heartbeat调用的这是从 start_heartbeat 调用的在 run 中调用.用于心跳的 key 来自identity util.rb 中的方法(在 Sidekiq 存储库中)来自 hostname这是一个调用 Socket.gethostname 的方法它在获取服务器的主机名时执行它所说的操作,它以平台特定的编码返回主机名。
因此,如果我们不得不走到这一步,找到运行 worker 的机器的服务器名称并启动控制台并检查 Socket.gethostname 的编码值。这应该解释错误。

关于ruby-on-rails - Sidekiq worker 每两秒显示 'ERROR: heartbeat: "\xE 2"from ASCII-8BIT to UTF-8',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63417005/

相关文章:

ruby-on-rails - 在 Rspec 中创建记录时未定义方法 `stringify_keys'

flutter - 如何在 flutter CLI 中禁用小部件树打印(不小心按 "T"键很烦人)

ruby-on-rails - 在后台作业中完成后生成 CSV 并将其上传到 S3

mysql - 在 Rails 应用程序中将 MySQL dayofmonth 查询转换为 db agnostic

ruby-on-rails - Webrick/Rails - 发送 POST 请求后超时错误

css - Rails 3 命令将我的 CSS 样式表的文本嵌入到 HTML 的头部

java - 如何通过浏览器运行终端程序?

java - 通过使用更多的CPU来减少复杂算法的编译时间

ruby - 我们可以拥有的 Sidekiq worker 数量上限是多少?

ruby-on-rails - sleep 在 sidekiq worker 中是否正常工作?