Sidekiq工作 - 返回失败或条件成功

时间:2015-10-29 08:09:13

标签: ruby sinatra 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

提前致谢

1 个答案:

答案 0 :(得分:3)

我认为如果你只是提出异常,它将使sidekiq作业失败:

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

当然,你应该用有意义的东西替换我写的哑错误信息。

注意:unless xif !x

相同