Sha256: f1e46485d792e923a084a632922c51d8be4fc3bf50c54dd82cc3b503eca1f64d
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
require 'sidekiq/cli' require 'sidekiq/api' module SidekiqJobsManager def setup ActiveJob::Base.queue_adapter = :sidekiq unless can_run? puts "Cannot run integration tests for sidekiq. To be able to run integration tests for sidekiq you need to install and start redis.\n" exit end end def clear_jobs Sidekiq::ScheduledSet.new.clear Sidekiq::Queue.new("integration_tests").clear end def start_workers fork do sidekiq = Sidekiq::CLI.instance logfile = Rails.root.join("log/sidekiq.log").to_s pidfile = Rails.root.join("tmp/sidekiq.pid").to_s sidekiq.parse([ "--require", Rails.root.to_s, "--queue", "integration_tests", "--logfile", logfile, "--pidfile", pidfile, "--environment", "test", "--concurrency", "1", "--timeout", "1", "--daemon", ]) require 'celluloid' require 'sidekiq/scheduled' Sidekiq.poll_interval = 0.5 Sidekiq::Scheduled.const_set :INITIAL_WAIT, 1 sidekiq.run end sleep 1 end def stop_workers pidfile = Rails.root.join("tmp/sidekiq.pid").to_s Process.kill 'TERM', File.open(pidfile).read.to_i FileUtils.rm_f pidfile rescue end def can_run? begin Sidekiq.redis { |conn| conn.connect } rescue return false end true end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activejob-lock-0.0.2 | rails/activejob/test/support/integration/adapters/sidekiq.rb |
activejob-lock-0.0.1 | rails/activejob/test/support/integration/adapters/sidekiq.rb |