Sha256: e94bb5d1786c7a49e4d083664e30f1b9b1e83210e8751de50312fd59b15c2ac9
Contents?: true
Size: 933 Bytes
Versions: 2
Compression:
Stored size: 933 Bytes
Contents
# frozen_string_literal: true module Dynflow module Executors module Sidekiq # Module to prepend the Sidekiq job to handle the serialization module Serialization def self.serialize(value) Dynflow.serializer.dump(value) end def self.deserialize(value) value = Utils::IndifferentHash.new(value) if value.is_a? Hash Dynflow.serializer.load(value) end module WorkerExtension # Overriding the Sidekiq entry method to perform additional serialization preparation module ClassMethods def client_push(opts) opts['args'] = opts['args'].map { |a| Serialization.serialize(a) } super(opts) end end def perform(*args) args = args.map { |a| Serialization.deserialize(a) } super(*args) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dynflow-1.9.0 | lib/dynflow/executors/sidekiq/serialization.rb |
dynflow-1.8.3 | lib/dynflow/executors/sidekiq/serialization.rb |