ADD 添加定时更新实践项目的myshixun_count 和averge_star数据

educoder
jasder duan 1 year ago
parent f0e4dbf453
commit 95e0d2d368

@ -3,8 +3,9 @@
namespace :daily_update_star_for_shixun do namespace :daily_update_star_for_shixun do
desc "update star count every day for shixun " desc "update star count every day for shixun "
task :execute => :environment do task :execute => :environment do
shixuns = Shixun.select(:id, :averge_star) shixuns = Shixun.select("id, averge_star")
shixuns = shixuns.where(id: ENV['shixun_id']) if ENV['shixun_id'].present?
shixuns.find_in_batches(batch_size: 10000) do |group| shixuns.find_in_batches(batch_size: 10000) do |group|
update_sql = "UPDATE shixuns SET averge_star = CASE id " update_sql = "UPDATE shixuns SET averge_star = CASE id "
Parallel.each(group, in_threads: 6) do |shixun| Parallel.each(group, in_threads: 6) do |shixun|

@ -3,8 +3,8 @@
namespace :update_myshixuns_count_for_shixun do namespace :update_myshixuns_count_for_shixun do
desc "update myshixuns count for shixun every day" desc "update myshixuns count for shixun every day"
task :execute => :environment do task :execute => :environment do
shixuns = Shixun.joins(:myshixuns).select("shixuns.id, COUNT(myshixuns.id) AS query_myshixuns_count") shixuns = Shixun.joins(:myshixuns).select("shixuns.id, COUNT(myshixuns.id) AS query_myshixuns_count").group("shixuns.id")
.group("shixuns.id") shixuns = shixuns.where(id: ENV['shixun_id']) if ENV['shixun_id'].present?
shixuns.find_in_batches(batch_size: 10000) do |group| shixuns.find_in_batches(batch_size: 10000) do |group|
update_sql = "UPDATE shixuns SET myshixuns_count = CASE id " update_sql = "UPDATE shixuns SET myshixuns_count = CASE id "

Loading…
Cancel
Save