Commit 7aeba41b07d7cda47548e0700bfc379925837c6b

Authored by Luke Baker
1 parent 8369073c

bugfix: update cache hit/miss counters to use utc

also update test to ensure we're using UTC for dates and times
app/models/choice.rb
@@ -117,7 +117,7 @@ class Choice < ActiveRecord::Base @@ -117,7 +117,7 @@ class Choice < ActiveRecord::Base
117 return if previous_choices.empty? 117 return if previous_choices.empty?
118 inserts = [] 118 inserts = []
119 119
120 - timestring = Time.now.to_s(:db) #isn't rails awesome? 120 + timestring = Time.now.utc.to_s(:db) #isn't rails awesome?
121 121
122 #add prompts with this choice on the left 122 #add prompts with this choice on the left
123 previous_choices.each do |r| 123 previous_choices.each do |r|
app/models/question.rb
@@ -542,11 +542,11 @@ class Question < ActiveRecord::Base @@ -542,11 +542,11 @@ class Question < ActiveRecord::Base
542 end 542 end
543 543
544 def record_prompt_cache_miss 544 def record_prompt_cache_miss
545 - $redis.incr(self.pq_key + "_" + Time.now.to_date.to_s + "_"+ "misses") 545 + $redis.incr(self.pq_key + "_" + Time.now.utc.to_date.to_s + "_"+ "misses")
546 end 546 end
547 547
548 def record_prompt_cache_hit 548 def record_prompt_cache_hit
549 - $redis.incr(self.pq_key + "_" + Time.now.to_date.to_s + "_"+ "hits") 549 + $redis.incr(self.pq_key + "_" + Time.now.utc.to_date.to_s + "_"+ "hits")
550 end 550 end
551 551
552 def get_prompt_cache_misses(date) 552 def get_prompt_cache_misses(date)
lib/tasks/test_api.rake
@@ -362,12 +362,13 @@ namespace :test_api do @@ -362,12 +362,13 @@ namespace :test_api do
362 success_message = "At least 90% of prompts on catchup algorithm questions were served from cache\n" 362 success_message = "At least 90% of prompts on catchup algorithm questions were served from cache\n"
363 return [success_message, false] unless question.uses_catchup? 363 return [success_message, false] unless question.uses_catchup?
364 364
365 - misses = question.get_prompt_cache_misses(Date.yesterday).to_i  
366 - hits = question.get_prompt_cache_hits(Date.yesterday).to_i 365 + yesterday = Time.now.utc.yesterday.to_date
  366 + misses = question.get_prompt_cache_misses(yesterday).to_i
  367 + hits = question.get_prompt_cache_hits(yesterday).to_i
367 368
368 - question.expire_prompt_cache_tracking_keys(Date.yesterday) 369 + question.expire_prompt_cache_tracking_keys(yesterday)
369 370
370 - yesterday_appearances = question.appearances.count(:conditions => ['created_at >= ? AND created_at < ?', Time.now.yesterday.midnight.utc, Time.now.midnight.utc]) 371 + yesterday_appearances = question.appearances.count(:conditions => ['created_at >= ? AND created_at < ?', Time.now.utc.yesterday.midnight, Time.now.utc.midnight])
371 372
372 if misses + hits != yesterday_appearances 373 if misses + hits != yesterday_appearances
373 error_message += "Error! Question #{question.id} isn't tracking prompt cache hits and misses accurately! Expected #{yesterday_appearances}, Actual: #{misses+hits}, Hits: #{hits}, Misses: #{misses}\n" 374 error_message += "Error! Question #{question.id} isn't tracking prompt cache hits and misses accurately! Expected #{yesterday_appearances}, Actual: #{misses+hits}, Hits: #{hits}, Misses: #{misses}\n"