2010-04-06 3 views
1

Je suis en train d'utiliser le petit bijou de delayed_job de collectiveidea Les instructions d'installation comprennentaide pour l'installation delayed_job

Rake tasks are not automatically loaded from gems, so you’ll need to add 
the following to your Rakefile: 

begin 
    require 'delayed/tasks' 
rescue LoadError 
    STDERR.puts "Run `rake gems:install` to install delayed_job" 
end 

Où est ma Rakefile? Et qu'est-ce qu'un Rakefile?

Répondre

1

Le Rakefile est un fichier qui est utilisé pour configurer rake, un outil de création Ruby (un peu comme make, mais tous dans Ruby). Dans un projet Rails, il existe un fichier dans le répertoire de projet supérieur nommé Rakefile dans lequel vous pouvez insérer ce code. Vous pouvez également ajouter un fichier dans le répertoire lib/tasks (par exemple nommé delayed_job.rake) et y placer le code. Le nom du fichier est pas important aussi longtemps que

  1. Il est dans le répertoire lib/tâches
  2. Il a l'extension .rake
+0

Merci Rob, Il était juste sous mon nez . – Mike

2

J'ai le même problème et mettre ce code dans delayed_job.rake dans le répertoire lib/tasks. Cela fonctionne, mais maintenant Il est dit:

*** Starting job worker localhost pid:79949 
rake aborted! 
uninitialized constant Delayed::Job 

Qu'est-ce qui ne va pas maintenant?

MISE À JOUR: Je viens de recevoir une réponse de courrier de Brandon:

Theres un bug dans la dernière version où il ne soit pas initialisé correctement lorsque vous utilisez la tâche de râteau. Si vous créez un fichier dans config/initializers et mettez le suivi en elle, l'erreur devrait disparaître:

Delayed::Worker.backend = :active_record 
3

J'ai eu le même problème avec rails 3.1 et collectiveidea-delayed_job.

Une fois que j'ajouté Delayed::Worker.backend = :active_record dans le initialiseur je suis l'erreur
no such file to load -- delayed/backend/active_record (LoadError)

La solution pour moi était d'ajouter gem 'delayed_job_active_record' dans le Gemfile, comme l'a suggéré here