Skip to content
Extraits de code Groupes Projets
Valider 4da97be8 rédigé par Raphael's avatar Raphael
Parcourir les fichiers

Add benchmarks and logging to resque jobs

parent f3ced6d9
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
module Jobs module Jobs
class HttpPost class HttpPost
extend ResqueJobLogging
@queue = :http @queue = :http
def self.perform(url, body, tries_remaining) def self.perform(url, body, tries_remaining)
......
module Jobs module Jobs
class InviteUser class InviteUser
extend ResqueJobLogging
@queue = :mail @queue = :mail
def self.perform(sender_id, email, aspect_id, invite_message) def self.perform(sender_id, email, aspect_id, invite_message)
user = User.find(sender_id) user = User.find(sender_id)
......
module Jobs module Jobs
class MailRequestAcceptance class MailRequestAcceptance
extend ResqueJobLogging
@queue = :mail @queue = :mail
def self.perform(recipient_id, sender_id) def self.perform(recipient_id, sender_id)
Notifier.request_accepted(recipient_id, sender_id).deliver Notifier.request_accepted(recipient_id, sender_id).deliver
......
module Jobs module Jobs
class MailRequestReceived class MailRequestReceived
extend ResqueJobLogging
@queue = :mail @queue = :mail
def self.perform(recipient_id, sender_id) def self.perform(recipient_id, sender_id)
Notifier.new_request(recipient_id, sender_id).deliver Notifier.new_request(recipient_id, sender_id).deliver
......
module Jobs module Jobs
class PostToServices class PostToServices
extend ResqueJobLogging
@queue = :http_service @queue = :http_service
def self.perform(user_id, post_id, url) def self.perform(user_id, post_id, url)
user = User.find_by_id(user_id) user = User.find_by_id(user_id)
......
module Jobs module Jobs
class Receive class Receive
extend ResqueJobLogging
@queue = :receive @queue = :receive
def self.perform(user_id, xml, salmon_author_id) def self.perform(user_id, xml, salmon_author_id)
user = User.find(user_id) user = User.find(user_id)
......
module Jobs module Jobs
class ReceiveLocal class ReceiveLocal
extend ResqueJobLogging
@queue = :receive_local @queue = :receive_local
def self.perform(user_id, person_id, object_type, object_id) def self.perform(user_id, person_id, object_type, object_id)
user = User.find(user_id) user = User.find(user_id)
......
module Jobs module Jobs
class ReceiveSalmon class ReceiveSalmon
extend ResqueJobLogging
@queue = :receive_salmon @queue = :receive_salmon
def self.perform(user_id, xml) def self.perform(user_id, xml)
user = User.find(user_id) user = User.find(user_id)
......
module Jobs module Jobs
class SocketWebfinger class SocketWebfinger
extend ResqueJobLogging
@queue = :socket_webfinger @queue = :socket_webfinger
def self.perform(user_id, account, opts={}) def self.perform(user_id, account, opts={})
finger = Webfinger.new(account) finger = Webfinger.new(account)
...@@ -7,7 +8,7 @@ module Jobs ...@@ -7,7 +8,7 @@ module Jobs
result = finger.fetch result = finger.fetch
result.socket_to_uid(user_id, opts) result.socket_to_uid(user_id, opts)
rescue rescue
Diaspora::WebSocket.queue_to_user(user_id, Diaspora::WebSocket.queue_to_user(user_id,
{:class => 'people', {:class => 'people',
:status => 'fail', :status => 'fail',
:query => account, :query => account,
......
module ResqueJobLogging
def around_perform_log_job(*args)
log_string = "event=resque_job job=#{self} "
error = nil
time = Benchmark.realtime{
begin
yield
rescue Exception => e
error = e
end
}*1000
if error
log_string += "status=error error=\"#{error}\" "
else
log_string += "status=complete "
end
log_string += "ms=#{time} "
arg_count = 1
args.each{|arg| log_string += "arg#{arg_count}=\"#{arg[0..30]}\" "}
Rails.logger.info(log_string)
raise error if error
end
end
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter