Rails resque: record non trovato durante il passaggio di una variabile dal controller al worker
-
27-10-2019 - |
Domanda
Ho un controller molto semplice:
def create
@poem = Poem.new(params[:poem])
@poem.prose = @poem.content
@poem.save
Resque.enqueue(PoemWork, @poem.id)
....
e un lavoratore molto semplice:
class PoemWork
@queue = :poem_queue
def self.perform(poem_id)
@poem = Poem.find(poem_id)
txt = @poem.content
#do stuff here
@poem.save
end
end
E continuo a ricevere "Impossibile trovare poesia con id= 53" o smth.così ...
Ho provato a passare solo una stringa, solo un numero intero ecc .. ma termina anche con ActiveRecord :: RecordNotFound
cosa può esserci di sbagliato?
Soluzione
Quindi il problema era che il worker inizia prima che l'oggetto venga effettivamente creato.
Ho dovuto installare la gemma che riavvia i lavori non riusciti.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow