Sha256: 787861f989a8519d723c58bd8934bb006df8d27b3e5f2ca94d44a0487308ebf9

Contents?: true

Size: 1009 Bytes

Versions: 6

Compression:

Stored size: 1009 Bytes

Contents

# frozen_string_literal: true

require 'sneakers/tasks'

task :environment

namespace :sneakers do
  desc 'Start work for ActiveJob only (set $QUEUES=foo,bar.baz for processing of "foo" and "bar.baz" queues)'
  task :active_job do
    Rake::Task['environment'].invoke

    populate_workers_by_queues if ENV['WORKERS'].blank? && ENV['QUEUES'].present?

    # Enforsing ActiveJob-only workers
    AdvancedSneakersActiveJob.configure { |c| c.activejob_workers_strategy = :only }

    Sneakers.configure(AdvancedSneakersActiveJob.config.sneakers)

    Sneakers.logger.level = Logger::INFO # debug logs are too noizy because of bunny

    Rake::Task['sneakers:run'].invoke
  end

  def populate_workers_by_queues
    require 'advanced_sneakers_activejob/support/locate_workers_by_queues'
    ::Rails.application.eager_load!

    queues = ENV['QUEUES'].split(',')
    workers = AdvancedSneakersActiveJob::Support::LocateWorkersByQueues.new(queues).call

    ENV['WORKERS'] = workers.map(&:name).join(',')
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
advanced-sneakers-activejob-0.5.0 lib/advanced_sneakers_activejob/tasks.rb
advanced-sneakers-activejob-0.4.0 lib/advanced_sneakers_activejob/tasks.rb
advanced-sneakers-activejob-0.3.6 lib/advanced_sneakers_activejob/tasks.rb
advanced-sneakers-activejob-0.3.5 lib/advanced_sneakers_activejob/tasks.rb
advanced-sneakers-activejob-0.3.4 lib/advanced_sneakers_activejob/tasks.rb
advanced-sneakers-activejob-0.3.3 lib/advanced_sneakers_activejob/tasks.rb