2011-12-16 3 views
0

Sinatra 애플리케이션에서 사용자가 특정 URL을 방문한 후 x 초 후에 (HTTP 스트림을 열지 않고) 다른 메소드를 호출해야합니다. 불리다.루비에서 x 초 내에 효율적으로 작업 수행

어떻게해야합니까?

+0

Ruby 1.9를 사용하고 있습니다. –

답변

1

당신은 Ruby Threads 사용할 수 있습니다 도움이

second_thread = Thread.new() do 
    sleep 10 # Let's only execute this after 10 seconds 
    ... do processing here 
end 

second_thread.join() 

희망을!

+0

고마워요! 이것이이 문제를 다루는 방법이 될 것이라는 느낌이 들었습니다. 나는 매우 효율적이지 않다고 생각 했었습니다. (스레드가 약간 제한적이라는 것을 알고 있습니다. 특히 하나의 스레드가 다른 스레드보다 훨씬 많은 프로세서 시간을 필요로 할 때 - 나는 Fibers가 더 유용하다고 읽었습니다.)하지만 받아 들여서 기쁩니다. 아무도 이것이 왜 좋은 방법이 아닌지에 대한 이유를 제시하지 않는다면 이것이 최고의 대답입니다! –

+0

섬유는 실제로 좋은 방법 일 수 있습니다. 나는 꽤 잘 작동하도록 밝혀진 비슷한 것을 한 것처럼 스레드를 나열했습니다. – SeanNieuwoudt