下面是我的ruby on rails应用的日志。
- NoMethodError (undefined method `encode` for nil:NilClass
- redirect_to "/post_message#token=#{@secret.encode(token)}"
- ^^^^^^^):
- app/controllers/canvas_test_controller.rb:126:in `redirect_token`
- I, [2023-08-22T10:21:40.643432 #25] INFO -- : [3cc2fde2-4da9-451b-973e-15c8fe93d91d] [Rollbar] Scheduling item
- pid=25 tid=3a1x WARN: Job arguments to Rollbar::Delay::Sidekiq do not serialize to JSON safely. This will raise an error in
- Sidekiq 7.0. See https://github.com/mperham/sidekiq/wiki/Best-Practices or raise an error today
- by calling `Sidekiq.strict_args!` during Sidekiq initialization.
我故意提出这个错误来测试rollbar,但为什么我得到一个Sidekiq警告:Job arguments to Rollbar::Delay::Sidekiq do not serialize to JSON safely.
我在代码中应用了Sidekiq的最佳实践,但这个错误似乎来自Rollbar::Delay::Sidekiq
。
我正在使用以下宝石:
rollbar (3.4.0)
sidekiq (6.5.6)
我试着更新sidekiq和rollbar到最新版本,但仍然存在相同的警告。我如何调试这个?
1条答案
按热度按时间ycggw6v21#
谢谢你@cschroed。我查看了rollbar的文档https://docs.rollbar.com/docs/sidekiq-integration,并将
config.async_json_payload = true
添加到rollbar的配置中解决了这个问题。