use resque-retry to reschedule failed jobs

This commit is contained in:
Emi Matchu 2011-06-21 11:22:45 -04:00
parent 9eaeadaa8c
commit 43f373fc36
8 changed files with 29 additions and 0 deletions

View file

@ -26,6 +26,7 @@ gem 'whenever', '~> 0.6.2', :require => false
gem 'swf_converter', '~> 0.0.3' gem 'swf_converter', '~> 0.0.3'
gem 'resque', '~> 1.15.0' gem 'resque', '~> 1.15.0'
gem 'resque-retry', '~> 0.1.0'
gem 'right_aws', '~> 2.1.0' gem 'right_aws', '~> 2.1.0'

View file

@ -139,6 +139,13 @@ GEM
redis-namespace (>= 0.10.0) redis-namespace (>= 0.10.0)
sinatra (>= 0.9.2) sinatra (>= 0.9.2)
vegas (~> 0.1.2) vegas (~> 0.1.2)
resque-retry (0.1.0)
resque (>= 1.8.0)
resque-scheduler (>= 1.8.0)
resque-scheduler (1.9.9)
redis (>= 2.0.1)
resque (>= 1.8.0)
rufus-scheduler
right_aws (2.1.0) right_aws (2.1.0)
right_http_connection (>= 1.2.5) right_http_connection (>= 1.2.5)
right_http_connection (1.3.0) right_http_connection (1.3.0)
@ -155,6 +162,8 @@ GEM
rspec-rails (2.0.1) rspec-rails (2.0.1)
rspec (~> 2.0.0) rspec (~> 2.0.0)
ruby-hmac (0.4.0) ruby-hmac (0.4.0)
rufus-scheduler (2.0.9)
tzinfo (>= 0.3.23)
sinatra (1.2.6) sinatra (1.2.6)
rack (~> 1.1) rack (~> 1.1)
tilt (< 2.0, >= 1.2.2) tilt (< 2.0, >= 1.2.2)
@ -200,6 +209,7 @@ DEPENDENCIES
rails (= 3.0.4) rails (= 3.0.4)
rdiscount (~> 1.6.5) rdiscount (~> 1.6.5)
resque (~> 1.15.0) resque (~> 1.15.0)
resque-retry (~> 0.1.0)
right_aws (~> 2.1.0) right_aws (~> 2.1.0)
rspec-rails (~> 2.0.0.beta.22) rspec-rails (~> 2.0.0.beta.22)
swf_converter (~> 0.0.3) swf_converter (~> 0.0.3)

View file

@ -6,6 +6,8 @@ require File.expand_path('../config/application', __FILE__)
require 'rake' require 'rake'
require 'rake/testtask' require 'rake/testtask'
require 'rake/rdoctask' require 'rake/rdoctask'
require 'resque/tasks'
require 'resque_scheduler/tasks'
OpenneoImpressItems::Application.load_tasks OpenneoImpressItems::Application.load_tasks

View file

@ -1,4 +1,11 @@
require 'resque-retry'
class AssetImageConversionRequest class AssetImageConversionRequest
extend Resque::Plugins::Retry
@retry_limit = 5
@retry_delay = 60
@queue = :requested_asset_images @queue = :requested_asset_images
def self.perform(asset_type, asset_id) def self.perform(asset_type, asset_id)
@ -7,6 +14,9 @@ class AssetImageConversionRequest
end end
class OnCreation < AssetImageConversionRequest class OnCreation < AssetImageConversionRequest
@retry_limit = 5
@retry_delay = 60
@queue = :requested_asset_images_on_creation @queue = :requested_asset_images_on_creation
end end
end end

View file

@ -0,0 +1,6 @@
require 'resque-retry'
require 'resque/failure/redis'
Resque::Failure::MultipleWithRetrySuppression.classes = [Resque::Failure::Redis]
Resque::Failure.backend = Resque::Failure::MultipleWithRetrySuppression

BIN
vendor/cache/resque-retry-0.1.0.gem vendored Normal file

Binary file not shown.

BIN
vendor/cache/resque-scheduler-1.9.9.gem vendored Normal file

Binary file not shown.

BIN
vendor/cache/rufus-scheduler-2.0.9.gem vendored Normal file

Binary file not shown.