2015-10-29 44 views
1

如何以編程方式在Sidekiq中失敗一項工作?Sidekiq工作 - 返回失敗或條件成功

調用system('some_command')裏面的一個perform()函數總是返回一個成功的作業。

我想根據這樣的條件無法工作:提前

def perform(data) 
    output = system('some_command') 
    if output 
    # return this job as :success 
    else 
    # return this job as :fail 
    end 
end 

感謝

回答

3

我覺得如果你只是拋出一個異常,就會使sidekiq任務失敗:

def perform(data) 
    output = system('some_command') 
    raise StandardError, "my error is so sexy" unless output 
end 

當然,你應該用有意義的東西來代替我寫的愚蠢的錯誤信息。

注:unless x只是一樣if !x

+0

感謝。爲更清潔的代碼+1 – goo

相關問題