由于原因(ahem ActiveAdmin),我目前无法在新项目中使用Rails 4.2。
但是,ActiveJob功能看起来很漂亮,所以我想尽可能使用它。
有没有人有使用Rails 4.1的经验?
答案 0 :(得分:3)
<强>更新强>
现在有一个更好的解决方案:),试试这个gem activejob_backport,更容易安装,功能与rails 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
然后你应该能够在你的rails应用程序中引用ActiveJob
来创建和排队工作:
# 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/