Use materialized views for subscription feeds

This commit is contained in:
Omar Roth
2018-10-09 08:40:29 -05:00
parent 3fe4547f8e
commit 35e63fa3f5
5 changed files with 61 additions and 30 deletions

View File

@@ -104,6 +104,17 @@ def refresh_videos(db)
end
end
def update_feeds(db)
loop do
users = db.query_all("SELECT email FROM users", as: String)
users.each do |email|
view_name = "subscriptions_#{sha256(email)[0..7]}"
db.exec("REFRESH MATERIALIZED VIEW #{view_name}")
end
end
end
def pull_top_videos(config, db)
if config.dl_api_key
DetectLanguage.configure do |dl_config|