【发布时间】:2017-07-31 10:23:53
【问题描述】:
我的项目使用救援来运行后台作业。 我在作业中使用 actioncable 在作业完成时通知用户。但是在使用 perform_later 时它没有运行,但是 perform_now => 它工作正常。
我的工作:
class FetchExternalDataJob < ApplicationJob
queue_as :default
def perform
# logic here
ActionCable.server.broadcast "some_channel", message: "finish job"
end
end
调用作业:
class RoomsController < ApplicationController
def show
FetchExternalDataJob.perform_later
end
频道javascript:
App.fetch_data = App.cable.subscriptions.create "FetchDataChannel",
received: (data) ->
console.log("job finished")
【问题讨论】:
-
也许你错过了真正从队列中挑选工作的工人?
标签: ruby-on-rails ruby-on-rails-5 actioncable rescue