Module: DelayedTask

Includes:
Rake::DSL
Defined in:
lib/delayed_task.rb,
lib/tasks/delayed_tasks.rb

Defined Under Namespace

Classes: PerformableTask

Class Method Summary collapse

Class Method Details

.add_delayed_tasksObject



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/tasks/delayed_tasks.rb', line 4

def add_delayed_tasks
  Rake::Task.tasks.each do |task|
    task "delay:#{task.name}", *task.arg_names do |t, args|
      Rake::Task["environment"].invoke
      values = args.to_hash.values.empty? ? "" : "[" + args.to_hash.values.join(",") + "]"
      invocation = task.name + values
      Delayed::Job.enqueue DelayedTask::PerformableTask.new(invocation)
      puts "Enqueued job: rake #{invocation}"
    end
  end
end