Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .ruby-gemset
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dimensions
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby-1.9.3-p392-perf
1 change: 0 additions & 1 deletion .rvmrc

This file was deleted.

8 changes: 5 additions & 3 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ gem 'kaminari'

# background jobs
#========================================
gem 'resque', :require => "resque/server"
gem 'resque-scheduler', :require => "resque_scheduler"

gem 'rake'
gem 'haml-rails'
Expand All @@ -37,6 +35,11 @@ gem 'tire'
gem 'crack'
gem 'exception_notification', :require => 'exception_notifier'
gem 'daemons'
gem 'sidekiq', require: 'sidekiq/web'
gem 'sinatra', '>= 1.3.0', :require => nil
gem 'sidekiq-status'
gem 'sidekiq-scheduler'
gem 'slim', '>= 1.1.0'
gem 'daemons-rails'
gem 'thin'
gem 'newrelic_rpm'
Expand All @@ -56,7 +59,6 @@ group :test do
gem 'rspec-rails'
gem 'fuubar'
gem 'factory_girl_rails'
gem 'resque_spec'
gem 'simplecov'
gem 'spork-rails'
end
58 changes: 33 additions & 25 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ GEM
rack-test (>= 0.5.4)
selenium-webdriver (~> 2.0)
xpath (~> 0.1.4)
celluloid (0.14.1)
timers (>= 1.0.0)
childprocess (0.3.1)
ffi (~> 1.0.6)
chunky_png (1.2.5)
Expand All @@ -56,6 +58,7 @@ GEM
sass (~> 3.1)
configatron (2.9.0)
yamler (>= 0.1.0)
connection_pool (1.1.0)
crack (0.3.1)
curb (0.7.18)
daemons (1.1.8)
Expand Down Expand Up @@ -168,7 +171,7 @@ GEM
rack (1.4.1)
rack-cache (1.1)
rack (>= 0.4)
rack-protection (1.2.0)
rack-protection (1.5.0)
rack
rack-ssl (1.3.2)
rack
Expand Down Expand Up @@ -197,21 +200,9 @@ GEM
ffi (>= 0.5.0)
rdoc (3.12)
json (~> 1.4)
redis (2.2.2)
redis-namespace (1.0.3)
redis (< 3.0.0)
resque (1.20.0)
multi_json (~> 1.0)
redis-namespace (~> 1.0.2)
sinatra (>= 0.9.2)
vegas (~> 0.1.2)
resque-scheduler (2.0.0)
redis (>= 2.0.1)
resque (>= 1.20.0)
rufus-scheduler
resque_spec (0.9.2)
resque (>= 1.19.0)
rspec (>= 2.5.0)
redis (3.0.4)
redis-namespace (1.3.1)
redis (~> 3.0.0)
rest-client (1.6.7)
mime-types (>= 1.16)
rpx_now (0.6.24)
Expand All @@ -233,7 +224,7 @@ GEM
ruby-graphviz (1.0.5)
ruby-progressbar (0.0.10)
rubyzip (0.9.6.1)
rufus-scheduler (2.0.17)
rufus-scheduler (2.0.23)
tzinfo (>= 0.3.23)
sass (3.1.15)
sass-rails (3.2.4)
Expand All @@ -249,15 +240,30 @@ GEM
ffi (~> 1.0)
multi_json (~> 1.0)
rubyzip
sidekiq (2.13.1)
celluloid (>= 0.14.1)
connection_pool (>= 1.0.0)
json
redis (>= 3.0)
redis-namespace
sidekiq-scheduler (0.4.1)
redis (>= 2.0.1)
rufus-scheduler (~> 2.0)
sidekiq (~> 2.0)
sidekiq-status (0.3.1)
sidekiq (~> 2.7)
simple_oauth (0.1.8)
simplecov (0.6.1)
multi_json (~> 1.0)
simplecov-html (~> 0.5.3)
simplecov-html (0.5.3)
sinatra (1.3.2)
rack (~> 1.3, >= 1.3.6)
rack-protection (~> 1.2)
sinatra (1.3.6)
rack (~> 1.4)
rack-protection (~> 1.3)
tilt (~> 1.3, >= 1.3.3)
slim (2.0.1)
temple (~> 0.6.6)
tilt (>= 1.3.3, < 2.1)
slop (2.4.4)
spork (1.0.0rc3)
spork-rails (3.2.0)
Expand All @@ -268,6 +274,7 @@ GEM
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
state_machine (1.1.2)
temple (0.6.6)
thin (1.4.1)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
Expand All @@ -276,6 +283,7 @@ GEM
tidy_ffi (0.1.4)
ffi (>= 0.3.5)
tilt (1.3.3)
timers (1.1.0)
tire (0.3.12)
activemodel (~> 3.0)
multi_json (~> 1.0)
Expand All @@ -293,8 +301,6 @@ GEM
http_parser.rb (~> 0.5.1)
simple_oauth (~> 0.1.4)
tzinfo (0.3.31)
vegas (0.1.11)
rack (>= 1.0.0)
warden (1.1.1)
rack (>= 1.0)
xpath (0.1.4)
Expand Down Expand Up @@ -333,14 +339,16 @@ DEPENDENCIES
pry
rails (= 3.2.2)
rake
resque
resque-scheduler
resque_spec
rspec-rails
ruby-graphviz
sass-rails
scrapi
sidekiq
sidekiq-scheduler
sidekiq-status
simplecov
sinatra (>= 1.3.0)
slim (>= 1.1.0)
spork-rails
state_machine
thin
Expand Down
6 changes: 3 additions & 3 deletions app/workers/calculate_ranking.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class CalculateRanking
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :feed_entry
include Sidekiq::Worker
sidekiq_options :queue => :feed_entry, :retry => 1, :backtrace => true

def self.perform(entry_id)
def perform(entry_id)
entry = FeedEntry.find(entry_id)
entry.update_facebook_stats
entry.calculate_social_rank
Expand Down
6 changes: 3 additions & 3 deletions app/workers/clean_indexes.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class CleanIndexes
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :clean_index
include Sidekiq::Worker
sidekiq_options :queue => :clean_index, :retry => 1, :backtrace => true

def self.perform
def perform
FeedEntry.remove_this_entries
end

Expand Down
6 changes: 3 additions & 3 deletions app/workers/entry_content_fetcher.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class EntryContentFetcher
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :entries
include Sidekiq::Worker
sidekiq_options :queue => :entries, :retry => 1, :backtrace => true

def self.perform(entry_id)
def perform(entry_id)
entry = FeedEntry.find_by_id(entry_id)
entry.fetch
end
Expand Down
6 changes: 3 additions & 3 deletions app/workers/entry_indexer.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class EntryIndexer
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :entries
include Sidekiq::Worker
sidekiq_options :queue => :entries, :retry => 1, :backtrace => true

def self.perform(entry_id)
def perform(entry_id)
entry = FeedEntry.find(entry_id)
entry.index_in_searchify
end
Expand Down
6 changes: 3 additions & 3 deletions app/workers/entry_localizer.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class EntryLocalizer
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :entries
include Sidekiq::Worker
sidekiq_options :queue => :entries, :retry => 1, :backtrace => true

def self.perform(entry_id)
def perform(entry_id)
entry = FeedEntry.find(entry_id)
FeedEntry.localize(entry)
end
Expand Down
6 changes: 3 additions & 3 deletions app/workers/entry_monitor.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class EntryMonitor
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :reindex_entries
include Sidekiq::Worker
sidekiq_options :queue => :reindex_entries, :retry => 1, :backtrace => true

def self.perform
def perform
NewsFeed.find_each do |feed|
feed.bg_reindex_feed
end
Expand Down
7 changes: 4 additions & 3 deletions app/workers/entry_tagger.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
class EntryTagger
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :entries
include Sidekiq::Worker
sidekiq_options :queue => :entries, :retry => 1, :backtrace => true

def self.perform(entry_id)

def perform(entry_id)
entry = FeedEntry.find(entry_id)
FeedEntry.tag(entry)
end
Expand Down
7 changes: 4 additions & 3 deletions app/workers/facebook_counter.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
class FacebookCounter
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :feed_entry
def self.perform
include Sidekiq::Worker
sidekiq_options :queue => :feed_entry, :retry => 1, :backtrace => true

def perform
FeedEntry.to_recalculate.each do |entry|
entry.bg_calculate_social_rank
end
Expand Down
6 changes: 3 additions & 3 deletions app/workers/feed_loader.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class FeedLoader
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :feeds
include Sidekiq::Worker
sidekiq_options :queue => :feeds, :retry => 1, :backtrace => true

def self.perform(news_feed_id)
def perform(news_feed_id)
news_feed = NewsFeed.find(news_feed_id)
news_feed.load_entries
end
Expand Down
6 changes: 3 additions & 3 deletions app/workers/feed_updater.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class FeedUpdater
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :feeds
include Sidekiq::Worker
sidekiq_options :queue => :feeds, :retry => 1, :backtrace => true

def self.perform
def perform
NewsFeed.find_each do |feed|
feed.update_entries
end
Expand Down
6 changes: 3 additions & 3 deletions app/workers/reindex_feed.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class ReindexFeed
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
@queue = :reindex_entries
include Sidekiq::Worker
sidekiq_options :queue => :reindex_entries, :retry => 1, :backtrace => true

def self.perform(feed_id)
def perform(feed_id)
NewsFeed.find(feed_id).reindex_feed
end
end
11 changes: 0 additions & 11 deletions config/initializers/resque.rb

This file was deleted.

26 changes: 26 additions & 0 deletions config/initializers/sidekiq.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
require 'sidekiq'
require 'sidekiq-scheduler/client'
require 'sidekiq-scheduler/schedule'
require 'sidekiq-scheduler/worker'
require 'sidekiq-scheduler/version'
require 'sidekiq/scheduler'

rails_root = Rails.root || File.dirname(__FILE__) + '/../..'
rails_env = Rails.env || 'development'
resque_config = YAML.load_file(rails_root.to_s + '/config/resque.yml')

Sidekiq.configure_server do |config|
config.redis = { :url => "redis://#{resque_config['development']}", :namespace => 'dimensions' }
config.server_middleware do |chain|
chain.add Sidekiq::Status::ServerMiddleware, expiration: 30.minutes # default
end
end

Sidekiq.configure_client do |config|
config.redis = { :url => "redis://#{resque_config['development']}", :namespace => 'dimensions' }
config.client_middleware do |chain|
chain.add Sidekiq::Status::ClientMiddleware
end
end

Sidekiq.schedule = YAML.load_file(rails_root.to_s + '/config/sidekiq_scheduler.yml')
2 changes: 1 addition & 1 deletion config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@


namespace :admin do
mount SecureResqueServer.new, :at => "/resque"
mount Sidekiq::Web => '/sidekiq'

resources :news_feeds do
get :process_entries, :on => :member
Expand Down
8 changes: 8 additions & 0 deletions config/sidekiq.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
:verbose: false
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:concurrency: 20
:queues:
- feed_entry
- feeds
File renamed without changes.