Sha256: 7be12ede3486409ae180990164b43733135912fc26ab5c40d2e397104d5a73f7
Contents?: true
Size: 897 Bytes
Versions: 1
Compression:
Stored size: 897 Bytes
Contents
require 'delayed_job' module DelayedCron module Jobs class DelayedJob < Struct.new(:klass, :method_name, :options) def self.enqueue_delayed_cron(klass, method_name, options) unless scheduled?(klass, method_name) options.symbolize_keys! ::Delayed::Job.enqueue( :payload_object => new(klass, method_name, options), :run_at => Time.now + options[:interval], :queue => :cron_job ) end end def self.scheduled?(klass, method_name) ::Delayed::Job.all.each do |job| obj = YAML.load(job.handler) scheduled = true if obj["object"] == klass && obj["method_name"] == method_name.to_s end scheduled ||= false end def perform(klass, method_name, options) DelayedCron.process_job(klass, method_name, options) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
delayed_cron-0.2.0 | lib/delayed_cron/jobs/delayed_job.rb |