2013-06-14 53 views
8

Có cách nào dễ dàng để tìm kiếm thông qua tất cả các sidekiq (hàng đợi, thử lại, lịch biểu, vv) cho một công việc cụ thể không?Cách tốt nhất để tìm một công việc ở bất cứ đâu trong Sidekiq

Hiện nay tôi đang làm điều này:

if !Sidekiq::Queue.new("feeds").find {|j| j.args[0] == feed.id && j.args[1] == true } 
    if !Sidekiq::RetrySet.new.find {|j| j.queue == 'feeds' && j.args[0] == feed.id && j.args[1] == true } 
    if !Sidekiq::ScheduledSet.new.find {|j| j.queue == 'feeds' && j.args[0] == feed.id && j.args[1] == true } 
     feed.sync 
    end 
    end 
end 

Nhưng với cách hàng đợi lớn có thể nhận được, có một cơ hội công việc có thể di chuyển giữa các bộ trong lần lặp và được bỏ qua.

Trả lời

6

Có vẻ như bạn muốn biết tình trạng công việc của bạn tại một thời điểm nào đó sau khi sinh sản, bạn cũng giữ nguyên id của nó. Có một vài plugins chính xác cho rằng, họ có chức năng tương tự và hầu như cùng tên:

Sidekiq::Status - Tôi là tác giả của một này, hơi Minimalistic

SidekiqStatus - cung cấp đáng kể thêm nhiều tính năng

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