timeout on background jobs

This commit is contained in:
Emi Matchu 2012-11-04 12:01:03 -06:00
parent 07f49307f1
commit 339a730779
2 changed files with 14 additions and 3 deletions

View file

@ -1,6 +1,9 @@
require 'resque-retry' require 'resque-retry'
require 'timeout'
class AssetImageConversionRequest class AssetImageConversionRequest
TIMEOUT_IN_SECONDS = 30
extend Resque::Plugins::Retry extend Resque::Plugins::Retry
@retry_limit = 5 @retry_limit = 5
@ -9,8 +12,10 @@ class AssetImageConversionRequest
@queue = :requested_asset_images @queue = :requested_asset_images
def self.perform(asset_id) def self.perform(asset_id)
asset = SwfAsset.find(asset_id) Timeout::timeout(TIMEOUT_IN_SECONDS) do
asset.convert_swf_if_not_converted! asset = SwfAsset.find(asset_id)
asset.convert_swf_if_not_converted!
end
end end
class OnCreation < AssetImageConversionRequest class OnCreation < AssetImageConversionRequest

View file

@ -1,8 +1,14 @@
require 'timeout'
class OutfitImageUpdate class OutfitImageUpdate
TIMEOUT_IN_SECONDS = 30
@queue = :outfit_image_updates @queue = :outfit_image_updates
def self.perform(id) def self.perform(id)
Outfit.find(id).write_image! Timeout::timeout(TIMEOUT_IN_SECONDS) do
Outfit.find(id).write_image!
end
end end
# Represents an outfit image update for an outfit that existed before this # Represents an outfit image update for an outfit that existed before this