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

View file

@ -1,9 +1,15 @@
require 'timeout'
class OutfitImageUpdate
TIMEOUT_IN_SECONDS = 30
@queue = :outfit_image_updates
def self.perform(id)
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
# feature was built. Its queue has a lower priority, so new outfits will