ブックマーク / qiita.com/kazasiki (1)

  • 未来に登録したActiveJob実行をCancelする方法 - Qiita

    RailsのActiveJobで未来に登録したJob実行をキャンセルしたい。 ActiveJobの標準的な機能としてサポートされているかと思ったのですが、そんなことなかった。 今回はジョブ実行にSidekiqを使っているとし、キャンセルにはSidekiqのAPIを使います。 job = MyJob.set(wait_until: Date.tomorrow.noon).perform_later(record) job.job_id # これがjobを特定するid require 'sidekiq/api' # 実際はinitializers/sidekiq.rbに入れるかも ss = Sidekiq::ScheduledSet.new # スケジュールされたジョブの一覧を取得 ss.find { |job| job.args[0]['job_id'] == job.job_id}.del

    未来に登録したActiveJob実行をCancelする方法 - Qiita
    oh240
    oh240 2018/05/12
  • 1