diff --git a/app/activity.rb b/app/activity.rb index 9a3a1b5f..8845f9ac 100644 --- a/app/activity.rb +++ b/app/activity.rb @@ -5,9 +5,11 @@ get '/activity' do global_dataset = Event.global_dataset if params[:event_id] - global_dataset.where! Sequel.qualify(:events, :id) => params[:event_id] + global_dataset = global_dataset.where Sequel.qualify(:events, :id) => params[:event_id] end +=begin + initial_events = global_dataset.all events = [] @@ -47,5 +49,25 @@ get '/activity' do @events << event end +=end + + + if SimpleCache.expired?(:activity_event_ids) + + initial_events = Event.global_site_changes_dataset.limit(1000).all + @events = [] + initial_events.each do |event| + event_site = event.site + next if @events.select {|e| e.site_id == event.site_id}.count >= 1 + next if event_site.is_a_jerk? + next unless event_site.follows_dataset.count > 1 + @events.push event + end + + SimpleCache.store :activity_event_ids, @events.collect {|e| e.id}, 60.minutes + else + @events = Event.where(id: SimpleCache.get(:activity_event_ids)).order(:created_at.desc).all + end + erb :'activity' end diff --git a/models/event.rb b/models/event.rb index 9e4d0b3a..94c4d392 100644 --- a/models/event.rb +++ b/models/event.rb @@ -14,7 +14,7 @@ class Event < Sequel::Model DEFAULT_GLOBAL_LIMIT = 300 GLOBAL_VIEWS_MINIMUM = 5 - GLOBAL_VIEWS_SITE_CHANGE_MINIMUM = 1000 + GLOBAL_VIEWS_SITE_CHANGE_MINIMUM = 3_000 def self.news_feed_default_dataset if SimpleCache.expired?(:excluded_actioning_site_ids)