From 269e5ef553ea1ef942e6c0176e1e271d63cd737e Mon Sep 17 00:00:00 2001 From: songtianlun Date: Mon, 17 Feb 2025 13:15:16 +0800 Subject: [PATCH] refactor: improve logging in weather arts worker - Added logging for skipped recent cities. - Enhanced logging for selected cities after filtering. This refactor improves the observability of the city selection process in the BatchGenerateWeatherArtsWorker. The added logs provide better insight during debugging and monitoring, allowing developers to track recent selections and identify any issues related to city filtering more effectively. --- app/workers/batch_generate_weather_arts_worker.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/workers/batch_generate_weather_arts_worker.rb b/app/workers/batch_generate_weather_arts_worker.rb index d40b02d..3569bec 100644 --- a/app/workers/batch_generate_weather_arts_worker.rb +++ b/app/workers/batch_generate_weather_arts_worker.rb @@ -69,14 +69,15 @@ class BatchGenerateWeatherArtsWorker end def select_cities(recent_city, countries, limit) - cutoff_time = Time.current - GENERATION_INTERVAL Rails.logger.debug "Select Cities with limit: #{limit}, in #{countries.size} countries." + Rails.logger.debug "Skip Cities(count: #{recent_city.count}) list: #{recent_city.map(&:name).join(', ')}." # 第一阶段:筛选 active 城市, 排除最近生成过的城市 active_cities = City.where.not(id: recent_city.pluck(:id)) .where(active: true, country_id: countries.map(&:id)).limit(limit).to_a selected = active_cities.first(limit) remaining = limit - selected.size Rails.logger.debug "Step1: Selected #{selected.size} cities with active city." + Rails.logger.debug "==recent selected city list: #{selected.map(&:name).join(', ')}." return selected if remaining <= 0 @@ -101,6 +102,7 @@ class BatchGenerateWeatherArtsWorker Rails.logger.debug "== No valid cities found in country: [#{country.name}]" end end + Rails.logger.debug "==recent selected city list: #{selected.map(&:name).join(', ')}." Rails.logger.debug "Finished selected #{selected.size} cities." selected end