Pergunta

Estou tentando usar o coletivo touched_job gem. As instruções de instalação incluem

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

Onde está meu RakeFile? E o que é um RakeFile?

Foi útil?

Solução

o Rakefile é um arquivo usado para configurar ancinho, uma ferramenta de construção de rubi (como faço, mas tudo em Ruby). Em um projeto Rails, existe um arquivo no diretório do projeto principal chamado Rakefile, onde você pode inserir esse código.

Como alternativa, você pode adicionar um arquivo no diretório LIB/Tasks (por exemplo, denunciado touched_job.rake) e colocar o código lá. O nome do arquivo não é importante enquanto

  1. Está no diretório Lib/Tasks
  2. Tem a extensão .Rake

Outras dicas

Eu tive o mesmo problema com o Rails 3.1 e o CollectiveEa-Dellayed_Job.

Depois que eu adicionei Delayed::Worker.backend = :active_record No inicializador, recebi o erro
no such file to load -- delayed/backend/active_record (LoadError)

A solução para mim foi adicionar gem 'delayed_job_active_record' no gemfile, conforme sugerido aqui

Eu tenho o mesmo problema e coloco esse código no atraso_job.rake no diretório Lib/Tasks. Funciona, mas agora diz:

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

O que há de errado agora?

ATUALIZAÇÃO: Acabei de receber uma resposta de correio de Brandon:

Há um bug na versão mais recente em que ele não é inicializado corretamente ao usar a tarefa Rake. Se você criar um arquivo no Config/Initializers e seguir o seguinte, o erro deve desaparecer:

Delayed::Worker.backend = :active_record
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top