Post

Mixed string and symbol keys in a delegated hash is how Ruby 3 hands you an ArgumentError with no obvious cause. ActiveJob keeps the distinction, Sidekiq flattens it through JSON. go.fastruby.io/wl4 #Ruby

0 reposts0 likes

Sidekiq 8 catches the direct version: on_complex_arguments defaults to :raise, so a hash with a Symbol key fails right at perform_async. The quiet flattening only gets through with Sidekiq.strict_args!(false), which a lot of older apps still carry in an initializer.