With Sidekiq there are only two job results:
- success - a job returns from the perform method without error
- failure - a job raises an error, going onto the retry queue to be retried in the future
Your complicated scenario is called application logic and Sidekiq cannot provide it. It is up to you to write that logic.