Let me explain the purpose for this job. I’m trying to remove orphan
hashtags that aren’t being used anymore (destroyed posts) This job would
run once every month to clean out the database. I’m currently receiving
variable/method undefined for hashtaggable_ids. The code that I wrote is
below.
class RemoveHashtagOrphans < ActiveJob::Base
queue_as :default
def perform(hashtaggable_id)
hashtags = SimpleHashtag::Hashtag.find(hashtaggables:
hashtaggable_id)
orphans = hashtags.all.select {|h| h.hashtaggables.size == 0}
orphans.map(&:destroy)
end
end
#RemoveHashtagOrphans.new.perform(hashtaggable_id)
#RemoveHashtagOrphans.perform_at(1.month.from_now)
Original self.clean_orphans method below
def self.clean_orphans # From DB
TODO Make this method call a single SQL query
orphans = self.all.select { |h| h.hashtaggables.size == 0 }
orphans.map(&:destroy)
end
I need to take the clean_orphans method and convert it into a sidekiq
job.