2016-07-01 2 views

Répondre

0

Vous pouvez utiliser des crochets d'échec de réinitialisation qui sont appelés chaque fois que le travail est en échec.

Vous pouvez remplacer cette méthode ou utiliser un plugin pour ce faire. Une fois que le travail a échoué, consignez-le et réessayez-le d'ici uniquement.

code de la base de code resque, fichier: resque-1.27.1/lib/resque/job.rb

# Given an exception object, hands off the needed parameters to 
# the Failure module. 
def fail(exception) 
    begin 
    run_failure_hooks(exception) 
    rescue Exception => e 
    raise e 
    ensure 
    Failure.create \ 
     :payload => payload, 
     :exception => exception, 
     :worker => worker, 
     :queue  => queue 
    end 
end