internetee-registry/db/data/20210405081552_migrate_que_jobs.rb
2021-04-12 17:23:22 +05:00

24 lines
579 B
Ruby

class MigrateQueJobs < ActiveRecord::Migration[6.0]
def up
QueJob.all.each do |job|
if skip_condition(job)
logger.info "Skipped Que job migration: #{job.inspect}"
else
args = job.args
job.job_class.constantize.perform_later(args)
end
end
end
def down
# raise ActiveRecord::IrreversibleMigration
end
def logger
@logger ||= Logger.new(Rails.root.join('log', 'que_to_sidekiq_migration.log'))
end
def skip_condition(job)
job.last_error.present? || !(job.job_class.constantize < ApplicationJob)
end
end