Для Ruby on Rails, как вы используете delayed_job (и добавить генератор)? - PullRequest
0 голосов
/ 02 сентября 2010

Это для http://github.com/tobi/delayed_job

, в примере написано:

script/generate delayed_job_migration

если я его запусту

$ script/generate delayed_job_migration
Couldn't find 'delayed_job_migration' generator

На github есть generatorsпапка, папка init.rb, папка lib и папка tasks, куда они должны попасть в наш проект?(с использованием Rails 3.0)

Там также написано, что добавьте код следующим образом:

class NewsletterJob < Struct.new(:text, :emails)
  def perform
    emails.each { |e| NewsletterMailer.deliver_text_to_email(text, e) }
  end    
end  

Delayed::Job.enqueue NewsletterJob.new('lorem ipsum...', Customers.find(:all).collect(&:email))

но куда этот код должен идти?к контроллеру или в файле lib?и как вы вызываете это?Я полагаю, код enqueue нужно запускать только один раз?

1 Ответ

1 голос
/ 02 сентября 2010

Попробуйте коллективную идею delayed_job http://github.com/collectiveidea/delayed_job. Я думаю, что это более полно, я использовал это, и у меня не было проблем.

1) Просто установите

2) запустить миграцию

3) запустить рабочих с помощью команды

rake jobs:work

4) положить внутрь контроллера команду с задержкой. Например @video.delay.convert

И вы готовы.

Иногда вам может потребоваться перезагрузить рабочих, чтобы изменения вступили в силу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...