mys*_*eim 1 ruby-on-rails background-process sidekiq
我使用 RailsActiveJob和sidekiq作为后端。当用户进入页面sidekiq创建一个长期后台任务时,我如何通知用户(通过在网页上呈现部分)何时完成任务?
Rails 和 sidekiq 作为不同的进程工作。这个事实让我感到困惑,我不明白如何使用后台作业处理完成状态。
ActiveJob提供after_perform回调,根据文档工作如下:
class VideoProcessJob < ActiveJob::Base
queue_as :default
after_perform do |job|
UserMailer.notify_video_processed(job.arguments.first)
end
def perform(video_id)
Video.find(video_id).process
end
end
Run Code Online (Sandbox Code Playgroud)
因此,您不必担心直接与Sidekiq或任何其他队列后端集成,请联系ActiveJob:)
| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |