Sha256: f7fcf66f52b277cc5d5ff63602a0389a804c1553d0986fb07ec1e7832a277ea9

Contents?: true

Size: 1.18 KB

Versions: 37

Compression:

Stored size: 1.18 KB

Contents

require File.join(Udongo::PATH, 'lib/tasks/task_extras.rb')

namespace :udongo do
  include TaskExtras

  namespace :sortable do
    desc 'Generates new positions for a given model.'
    task :generate_positions_for_model do
      class_name = user_input 'What model needs the positions?'
      class_name.to_s.camelcase.constantize.all.each_with_index do |o, index|
        o.update_attribute(:position, index + 1)
      end
    end
  end

  namespace :content_images do
    desc 'Regenerate all the image versions.'
    task regenerate: :environment do
      ContentImage.find_each do |i|
        if i.file?
          i.file.recreate_versions!
          i.save!
        end
      end
    end
  end

  namespace :queue do
    desc 'Checks the queue for tasks and executes at most 3 of them'
    task process: :environment do

      # This code will process at most 3 records from the queue. The attempts
      # are done 1 by 1, because if you would fetch all the 5 tasks at once you
      # might risk another process already completed the task which leaves only
      # some already executed task.
      3.times do
        QueuedTask.not_locked.limit(1).each { |t| t.process! }
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
udongo-6.6.3 lib/tasks/udongo_tasks.rake
udongo-6.6.2 lib/tasks/udongo_tasks.rake
udongo-6.6.1 lib/tasks/udongo_tasks.rake
udongo-6.6.0 lib/tasks/udongo_tasks.rake
udongo-6.5.2 lib/tasks/udongo_tasks.rake
udongo-6.5.1 lib/tasks/udongo_tasks.rake
udongo-6.5.0 lib/tasks/udongo_tasks.rake
udongo-6.4.1 lib/tasks/udongo_tasks.rake
udongo-6.4.0 lib/tasks/udongo_tasks.rake
udongo-6.3.2 lib/tasks/udongo_tasks.rake
udongo-6.3.1 lib/tasks/udongo_tasks.rake
udongo-6.3.0 lib/tasks/udongo_tasks.rake
udongo-6.2.1 lib/tasks/udongo_tasks.rake
udongo-6.2.0 lib/tasks/udongo_tasks.rake
udongo-6.1.0 lib/tasks/udongo_tasks.rake
udongo-6.0.0 lib/tasks/udongo_tasks.rake
udongo-5.9.0 lib/tasks/udongo_tasks.rake
udongo-5.8.0 lib/tasks/udongo_tasks.rake
udongo-5.7.0 lib/tasks/udongo_tasks.rake
udongo-5.6.0 lib/tasks/udongo_tasks.rake