2014-10-19 17 views
5

Z powodów (ahem ActiveAdmin), obecnie nie mogę używać Rails 4.2 dla nowego projektu.Jak mogę użyć ActiveJob z Rails 4.1?

Jednak funkcja ActiveJob wygląda na ładną abstrakcję, więc chciałbym jej użyć, jeśli to możliwe.

Czy ktoś ma jakieś doświadczenie w pracy z Rails 4.1?

Odpowiedz

3

UPDATE

Jest to lepsze rozwiązanie teraz :), spróbuj ten klejnot activejob_backport, łatwiejszą instalację, takie same funkcje jak szyny 4.2.


UWAGA: nieaktualnej treści PONIŻEJ

Aby korzystać ActiveJob w Rails 4.1, trzeba zrobić to jako pierwszy.

# 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 

Następnie powinieneś być w stanie odwołać ActiveJob w aplikacji szyn, aby utworzyć i enqueue pracy:

# 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) 

Są tam kilka pułapek jednak największą różnicą jest to nie dokładnie takie same ActiveJob wewnątrz Rails 4.2.beta, podobnie jak brak generatorów, callbacki i składnia są nieco inne. Napisałem post na blogu, jeśli chcesz kopać więcej: http://kinopyo.com/blog/use-activejob-in-rails-4-1/

+0

Dzięki! to definitywnie podsumowuje główne głupstwa, które wpadłem na siebie, próbując to zrobić. – elsurudo

Powiązane problemy