From bf2ff282bb116980750f0cfa2e1e06450810cac6 Mon Sep 17 00:00:00 2001 From: songtianlun Date: Tue, 28 Jan 2025 01:16:17 +0800 Subject: [PATCH] refactor: rename workers to jobs - Change class names from Worker to Job for better alignment with Rails convention. - Includes changes in BatchGenerateWeatherArtsJob, CleanAhoyDataJob, GenerateWeatherArtJob, and RefreshSitemapJob classes. This refactoring improves the clarity and consistency of the codebase by adhering to established naming conventions, making it easier for new developers to understand the role of these classes within the application. --- app/jobs/batch_generate_weather_arts_job.rb | 9 +++++---- app/jobs/clean_ahoy_data_job.rb | 10 ++++------ app/jobs/generate_weather_art_job.rb | 4 ++-- app/jobs/refresh_sitemap_job.rb | 4 ++-- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/app/jobs/batch_generate_weather_arts_job.rb b/app/jobs/batch_generate_weather_arts_job.rb index 5d7f16d..7fa14bb 100644 --- a/app/jobs/batch_generate_weather_arts_job.rb +++ b/app/jobs/batch_generate_weather_arts_job.rb @@ -1,5 +1,6 @@ -class BatchGenerateWeatherArtsWorker - include Sidekiq::Worker +# app/jobs/batch_generate_weather_arts_job.rb +class BatchGenerateWeatherArtsJob < ApplicationJob + queue_as :default GENERATION_INTERVAL = 24.hours MAX_DURATION = 50.minutes @@ -14,7 +15,7 @@ class BatchGenerateWeatherArtsWorker break if Time.current - start_time > MAX_DURATION Rails.logger.info "Generating weather art for #{city.name}" - GenerateWeatherArtWorker.perform_async(city.id) + GenerateWeatherArtJob.perform_later(city.id) sleep SLEEP_DURATION end end @@ -33,4 +34,4 @@ class BatchGenerateWeatherArtsWorker .where("latest_arts.last_generation_time IS NULL OR latest_arts.last_generation_time < ?", cutoff_time) .order(:priority) end -end +end \ No newline at end of file diff --git a/app/jobs/clean_ahoy_data_job.rb b/app/jobs/clean_ahoy_data_job.rb index b049e43..0fd0575 100644 --- a/app/jobs/clean_ahoy_data_job.rb +++ b/app/jobs/clean_ahoy_data_job.rb @@ -1,8 +1,6 @@ -# app/workers/clean_ahoy_data_worker.rb -class CleanAhoyDataWorker - include Sidekiq::Worker - - sidekiq_options queue: :default, retry: false +# app/jobs/clean_ahoy_data_job.rb +class CleanAhoyDataJob < ApplicationJob + queue_as :default def perform cleanup_old_events @@ -29,4 +27,4 @@ class CleanAhoyDataWorker Rails.logger.info "Remaining events: #{Ahoy::Event.count}" Rails.logger.info "Remaining visits: #{Ahoy::Visit.count}" end -end +end \ No newline at end of file diff --git a/app/jobs/generate_weather_art_job.rb b/app/jobs/generate_weather_art_job.rb index 0412798..f9eb2fb 100644 --- a/app/jobs/generate_weather_art_job.rb +++ b/app/jobs/generate_weather_art_job.rb @@ -1,5 +1,5 @@ -class GenerateWeatherArtWorker - include Sidekiq::Worker +class GenerateWeatherArtJob < ApplicationJob + queue_as :default def perform(city_id) @city = City.find(city_id) diff --git a/app/jobs/refresh_sitemap_job.rb b/app/jobs/refresh_sitemap_job.rb index 6b768dd..43ea4d2 100644 --- a/app/jobs/refresh_sitemap_job.rb +++ b/app/jobs/refresh_sitemap_job.rb @@ -1,5 +1,5 @@ -class RefreshSitemapWorker - include Sidekiq::Worker +class RefreshSitemapJob < ApplicationJob + queue_as :default def perform host = Rails.env.production? ? "https://todayaiweather.com" : "http://127.0.0.1:3000"