我正在试图找出如何在SuckerPunch中启动后台作业,而无需加载索引页。
现在,我所做的是:
$ rails server #start localhost:3000
上的服务器然后我转到我的浏览器URL并输入localhost:3000
这会触发我的SuckerPunch作业,然后它们就会开始运行。
我的application_controller.rb
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
# call job on application start
TestEchoJob.new.async.perform("Download CMS Data")
GetImages.new.async.perform
DeleteImages.new.async.perform
SendLead.new.async.perform
end
这就是我调用工作的地方。 我想也许还有另外一个地方我可以把它们放到我想要的地方。
在服务器启动时启动作业 - 而不是http请求。
答案 0 :(得分:0)
对不起,不是非常具体,但我认为所有的信息都在sucker punch gem readme中。这取决于您的配置,请阅读。
例如:(来自github repo)
有效作业
Sucker Punch已添加为Rails 4.2中的活动作业适配器。请参阅指南以了解配置和实施。
将Sucker Punch添加到您的Gemfile:
gem 'sucker_punch'
然后将后端配置为使用Sucker Punch:
# config/initializers/sucker_punch.rb
Rails.application.configure do
config.active_job.queue_adapter = :sucker_punch
end