Ras*_*kur 11 ruby-on-rails redis sidekiq
我有 Rails 应用程序,它使用 sidekiq 进行后台作业。最近将 ruby 从 2.7.0 升级到 3.1.2,并且 redis gem 自动更新到“5.0.5”。在 sidekiq(6.4.1) 日志抛出以下错误后,如果我在 gemlock 中恢复到旧的 redis 版本 (4.6.0),则不会出现错误。知道这是什么原因吗?
pmv*_*pmv 20
Ruby 的 Redis 客户端最近进行了更新,现在严格检查命令参数类型。从 6.4.2 开始,Sidekiq 在心跳代码中传递一个布尔值(在您的情况下FalseClass),新的 Redis 客户端拒绝了该布尔值,因此出现错误。布尔值无效,因为 Redis 哈希不支持类型提示;Redis 4.6 及更早版本只会悄悄地转换为字符串。
自 6.5.x 起,Sidekiq 已更新为可与新的 Redis 客户端配合使用。我使用的是 6.5.5,错误消失了:
gem 'sidekiq', '~> 6.5.5'
以下是介绍修复的 PR,供参考:https://github.com/mperham/sidekiq/pull/5298
| 归档时间: |
|
| 查看次数: |
4016 次 |
| 最近记录: |