這是我第一次使用ActiveJob,所以我仍然圍繞細節。我有一個表單,當通過Execute
按鈕保存時,它會執行一些需要很長時間的API調用。Rails 4.2:重定向後的活動作業
我希望頁面可以在沒有漫長等待的情況下重定向到索引。這裏是我的控制器創建行動..
campaigns_controller.rb
def create
@campaign = Campaign.new(campaign_params)
if @campaign.save
flash[:success] = "Campaign Successfully Saved!"
redirect_to campaigns_path
if params[:save_type] == 'Execute'
FolderPushJob.perform_later(@campaign)
end
else
flash[:error] = "There was a problem launching your Campaign."
redirect_to new_campaign_path
end
end
...和我在這工作的起步階段
folder_push_job.rb
class FolderPushJob < ActiveJob::Base
queue_as :default
def perform(campaign)
...some api calls..
end
什麼是最好的方式來完成這項工作?
UPDATE
的一個問題是,我發現我沒有作業的後臺,所以我安裝了delayed_job
寶石。
的config/application.rb中
config.active_job.queue_adapter = :delayed_job
現在重定向,並且不運行在所有的工作。
任何幫助,高度讚賞。
redirect_to的順序沒有什麼區別,仍然得到相同的結果。無論這個作業是否存在,它都不會運行。 – shroy