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 'timeout'
class AssetImageConversionRequest
TIMEOUT_IN_SECONDS = 30
extend Resque::Plugins::Retry
@retry_limit = 5
@ -9,8 +12,10 @@ class AssetImageConversionRequest
@queue = :requested_asset_images
def self.perform(asset_id)
asset = SwfAsset.find(asset_id)
asset.convert_swf_if_not_converted!
Timeout::timeout(TIMEOUT_IN_SECONDS) do
asset = SwfAsset.find(asset_id)
asset.convert_swf_if_not_converted!
end
end
class OnCreation < AssetImageConversionRequest

View file

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