2011-09-08 4 views
1

페이지가 생성되어 사용자에게 전송 된 후 이미지 조작 (오랜 시간이 걸릴 수 있음)이 필요합니다. 이 작업이 완료되는 동안 사용자를 기다리지 않게하십시오. 다음과 같은 내용 :페이지가 생성되어 사용자에게 전송 된 후 가장 간단한 방법

if @post.save! 
    redirect_to :action => :index 
    # Now user is redirected and don't need to wait 
    # doing job in a background 
    do_image_manipulation 
end 

나는 대몬을 피하고 싶습니다.

답변

1

스레드를 사용해 볼 수 있습니다. 보기를 렌더링 한 다음 새 스레드를 생성하십시오.

1

일종의 처리 데몬을 실행하지 않고도 수행 할 수 있는지 확실하지 않습니다. beanstalkd 또는 resque을 보셨나요? 그런 다음 실제 do_image_manipilation 호출이 나중에 처리됩니다

if @post.save! 
    @post.delay.do_image_manipulation 
    redirect_to :action => :index 
end 

:

2

Delayed Job 아마 가장 쉬운 일이 될 것입니다. 관련된 종류의 데몬이 있습니다 (단지 끊임없이 실행되는 레이크 작업).하지만 직접 세부 사항을 다루지 않아도됩니다. .delay을 올바른 위치에 붙이면 지연된 작업이 무거운 짐을 처리합니다.

관련 문제