From c1fa16c690fd7c151d7c90d004002d72c03ce3b5 Mon Sep 17 00:00:00 2001 From: songtianlun Date: Thu, 23 Jan 2025 09:20:49 +0800 Subject: [PATCH] refactor: change weather art job processing method - Replace synchronous job processing with asynchronous - Ensure processing does not exceed API rate limits This change allows for better performance by offloading the queue management to Sidekiq, enabling more efficient parallel processing of weather art generation. It also prevents potential API rate limit violations by maintaining a delay between requests. --- app/workers/batch_generate_weather_arts_worker.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/workers/batch_generate_weather_arts_worker.rb b/app/workers/batch_generate_weather_arts_worker.rb index 0b588e0..47ccafe 100644 --- a/app/workers/batch_generate_weather_arts_worker.rb +++ b/app/workers/batch_generate_weather_arts_worker.rb @@ -10,7 +10,8 @@ class BatchGenerateWeatherArtsWorker cities_to_process.each do |city| break if Time.current - start_time > max_duration - GenerateWeatherArtJob.perform_now(city) + # GenerateWeatherArtJob.perform_now(city) + GenerateWeatherArtJob.perform_async(city) sleep 1.minute # 确保不超过API限制 end end