Передать результаты работы на другую работу с Sidekiq - PullRequest
0 голосов
/ 06 марта 2019

Я делаю вызов API, чтобы получить адрес электронной почты.В случае успеха я хотел бы передать этот адрес электронной почты на другую работу.Я использую sidekiq и sidekiq-batch gems.

class HandleWebhookJob
  def perform
    batch = Sidekiq::Batch.new
    batch.description = "Handling webhook"
    batch.on(:success, HandleWebhookJob::OtherJob, { email: @email })
    batch.jobs do
      @email = GetEmailJob.perform_async # returns email address
    end
  end

  class OtherJob
    def on_success(status, options)
      puts options # no email address here - nil
      # need to pass it to UseEmailJob.perfom_async(options[:email])
    end
  end
end

Я предполагаю, что присвоение результата GetEmailJob для @ email не будет работать.Не могу найти пример того, как это сделать, и если это вообще возможно.

1 Ответ

1 голос
/ 06 марта 2019

Я думаю, что вы получите jid в @email. Можете ли вы сохранить электронные письма в GetEmailJob в каком-либо хранилище (например, redis) с помощью клавиши prefix:jid и взять их оттуда?

...