2012-02-17 4 views
1

에 컨트롤러에서 변수를 전달할 때 나는 아주 간단한 컨트롤러가 있습니다레일 resque : 기록 찾을 수 없습니다 노동자

def create 
    @poem = Poem.new(params[:poem]) 
    @poem.prose = @poem.content 
    @poem.save 
    Resque.enqueue(PoemWork, @poem.id) 
.... 

과 매우 간단한 노동자 :

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 

을 그리고 "나오지 않았어 '을 받고 계속 id = 53 "또는 smth 인시를 찾으십시오. 그런 식으로 ...

난 그냥 정수 등, 단지 문자열을 전달 시도 .. 그러나 그것은 또한 잘못 될 수있는 액티브 ::

RecordNotFound

로 끝?

+1

인가? –

+0

흠 ... 어떻게 확인하나요? 나는 resque를 사용하는 두 개의 응용 프로그램을 가지고 있고 그들 (resque.rb에서 정의)에 대해 다른 redistogo dbs를 사용합니다 ... 또한 localhost에서 오류가 발생했습니다. 원격으로 아직 테스트하지 않았습니다 – Stpn

+0

정확한 명령을 제공하십시오. 당신의 노동자들을 돌리십시오. Rails를 개발 모드에서 로컬로 실행하고 있습니까? –

답변

0

따라서 개체가 실제로 생성되기 전에 작업자가 시작한다는 것이 문제였습니다.

실패한 작업을 다시 시작하는 gem을 설치해야합니다. 웹 서버 프로세스와 동일한 데이터베이스에 연결하여 배경 작업자 프로세스는

wrote the post about it

+0

링크가 더 이상 작동하지 않습니다. PLease 업데이트 –

관련 문제