diff --git a/lib/sidekiq/scheduler.rb b/lib/sidekiq/scheduler.rb
index <HASH>..<HASH> 100644
--- a/lib/sidekiq/scheduler.rb
+++ b/lib/sidekiq/scheduler.rb
@@ -111,10 +111,13 @@ module Sidekiq
 
     # Enqueue a job based on a config hash
     def self.enqueue_from_config(job_config)
-      job_config['class'] = constantize(job_config['class']) # Sidekiq expects the class to be constantized.
-      job_config['args'] = '' if job_config['args'].nil?
+      args = job_config[:args] || job_config['args']
+      args = args.is_a?(Hash) ? [args] : Array(args)
+      
+      klass_name = job_config[:class] || job_config['class']
+      klass = constantize(klass_name) rescue klass_name
 
-      Sidekiq::Client.push(job_config)
+      Sidekiq::Client.push({ 'class' => klass, 'args' => args })
     end
 
     def self.rufus_scheduler
NoMethodError: undefined method 'constantize' for Sidekiq::Scheduler:Class