5
由於原因(ahem ActiveAdmin),我目前無法在新項目上使用Rails 4.2。如何在Rails 4.1中使用ActiveJob?
但是,ActiveJob功能看起來像一個很好的抽象,所以我想盡可能使用它。
有沒有人有任何使用Rails 4.1的經驗?
由於原因(ahem ActiveAdmin),我目前無法在新項目上使用Rails 4.2。如何在Rails 4.1中使用ActiveJob?
但是,ActiveJob功能看起來像一個很好的抽象,所以我想盡可能使用它。
有沒有人有任何使用Rails 4.1的經驗?
UPDATE
現在有一個更好的解決辦法:),試試這個寶石activejob_backport,易於安裝,相同的功能,導軌4.2。
注意:過時的內容下方
要對Rails 4.1使用ActiveJob,你需要做的這些第一。
# in Gemfile
gem 'activejob'
# in your terminal
bundle
# create a config/initializers/active_job.rb
require 'active_job'
# or any other supported backend such as :sidekiq or :delayed_job
ActiveJob::Base.queue_adapter = :inline
那麼你應該能夠引用ActiveJob
在你的Rails應用程序,創建和排隊作業:
# app/jobs/guests_cleanup_job.rb
class GuestsCleanupJob < ActiveJob::Base
queue_as :default
def perform(*args)
# Do something later
end
end
# usage
GuestsCleanupJob.enqueue(record)
GuestsCleanupJob.enqueue(record, options)
裏有一些陷阱雖然,最大的區別是它的並不完全相同Rails 4.2.Beta內的ActiveJob,就像缺少生成器,回調和語法有些不同。我寫了一篇博客文章,如果你想挖掘更多:http://kinopyo.com/blog/use-activejob-in-rails-4-1/
謝謝!這絕對總結了我嘗試這樣做時遇到的主要困難。 – elsurudo 2014-10-30 09:11:18