33 lines
910 B
Ruby
33 lines
910 B
Ruby
|
# app/workers/clean_ahoy_data_worker.rb
|
||
|
class CleanAhoyDataWorker
|
||
|
include Sidekiq::Worker
|
||
|
|
||
|
sidekiq_options queue: :default, retry: false
|
||
|
|
||
|
def perform
|
||
|
cleanup_old_events
|
||
|
cleanup_old_visits
|
||
|
log_cleanup_results
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def cleanup_old_events
|
||
|
cutoff_date = 3.months.ago
|
||
|
deleted_events_count = Ahoy::Event.where("time < ?", cutoff_date).delete_all
|
||
|
Rails.logger.info "Deleted #{deleted_events_count} old Ahoy events"
|
||
|
end
|
||
|
|
||
|
def cleanup_old_visits
|
||
|
cutoff_date = 3.months.ago
|
||
|
deleted_visits_count = Ahoy::Visit.where("started_at < ?", cutoff_date).delete_all
|
||
|
Rails.logger.info "Deleted #{deleted_visits_count} old Ahoy visits"
|
||
|
end
|
||
|
|
||
|
def log_cleanup_results
|
||
|
Rails.logger.info "Ahoy cleanup completed at #{Time.current}"
|
||
|
Rails.logger.info "Remaining events: #{Ahoy::Event.count}"
|
||
|
Rails.logger.info "Remaining visits: #{Ahoy::Visit.count}"
|
||
|
end
|
||
|
end
|