2012-04-12 26 views
5

README của đá quý resque-retry thảo luận về việc thay đổi triển khai phụ trợ lỗi khi triển khai.Tôi nên đặt mã phụ trợ không phục hồi lại của tôi ở đâu?

MultipleWithRetrySuppression là một phụ trợ nhiều lỗi, với thử lại bị triệt tiêu.

Dưới đây là một ví dụ, bằng cách sử dụng Redis thất bại backend:

require 'resque-retry' 
require 'resque/failure/redis' 

# require your jobs & application code. 

Resque::Failure::MultipleWithRetrySuppression.classes = [Resque::Failure::Redis] 
Resque::Failure.backend = Resque::Failure::MultipleWithRetrySuppression 

Nếu một công việc thất bại, nhưng lon và sẽ retry, các chi tiết thất bại sẽ không được đăng nhập trong Redis thất bại đợi (có thể nhìn thấy qua resque -web).

Nếu công việc thất bại, nhưng không thể hoặc sẽ không retry, sự thất bại sẽ được đăng nhập trong Redis thất bại hàng đợi, giống như một thất bại bình thường (không retry) sẽ.

Tôi không chắc nơi ứng dụng Rails của tôi nên sử dụng mã. Tôi có nên đặt nó vào bất kỳ tệp khởi tạo ngẫu nhiên nào không, ví dụ: config/initializers/resque.rb? Hoặc là có một số nơi khác trong ứng dụng của tôi, nơi nó nên đi? Tài liệu không rõ ràng.

+1

Tôi nghĩ rằng bạn đã đúng, cần phải đặt những dòng này trong trình khởi tạo – MikDiet

+0

bạn có thể nên tạo một PR để thử lại bằng tài liệu đã cập nhật – pahnin

Trả lời

4

Có vẻ như trình khởi tạo là đặt cược tốt nhất. Chấp nhận câu trả lời này là câu trả lời hay nhất trừ khi ai đó đến cùng với đề xuất tốt hơn.

Các vấn đề liên quan