diff --git a/Gemfile b/Gemfile index d031a83e..089ab9f0 100644 --- a/Gemfile +++ b/Gemfile @@ -10,6 +10,7 @@ group :development, :test do gem 'activerecord', require: nil gem 'connection_pool', require: nil gem 'gc_ruboconfig' + gem 'multi_json', '~> 1.21', require: nil gem 'pg', require: nil, platform: :ruby gem 'pg_jruby', require: nil, platform: :jruby gem 'pond', require: nil diff --git a/lib/que/adapters/base.rb b/lib/que/adapters/base.rb index 6123d569..b6a6555b 100644 --- a/lib/que/adapters/base.rb +++ b/lib/que/adapters/base.rb @@ -31,7 +31,7 @@ class Base # integer 23 => proc(&:to_i), # json - 114 => ->(value) { JSON_MODULE.load(value, create_additions: false) }, + 114 => ->(value) { JSON_MODULE.parse(value, create_additions: false) }, # float 701 => proc(&:to_f), # timestamp with time zone @@ -74,7 +74,7 @@ def execute(command, params = []) # The pg gem unfortunately doesn't convert fractions of time instances, so cast # them to a string. when Time then param.strftime("%Y-%m-%d %H:%M:%S.%6N %z") - when Array, Hash then JSON_MODULE.dump(param) + when Array, Hash then JSON_MODULE.generate(param) else param end end