2010-08-21 3 views
6

10 분마다 크론 작업을하고 싶습니다. 그러나 시스템은 1 시간 만 수행합니다. 그래서 저는 이것을 수행 할 방법을 찾고 있습니다. 나는 Timersleep을 보았습니다. 그러나 이것을 수행하는 방법이나 이것을 달성하기위한 자원은 아직 잘 모릅니다.루비가 10 분마다 어떤 작업을 수행하게하는 방법?

+0

언제 춤을 추 었는지 어떻게 알 수 있습니까? (http://en.wikipedia.org/wiki/Minuet) – JasonFruit

+0

카메라 제작자는 없지만 rss 피드를 추가하는 것이고, 'entries_total'속성이 업데이트되어 총 피드 수를 알려줍니다 덧붙였다. – s84

답변

4

http://rufus.rubyforge.org/rufus-scheduler/

루퍼스 - 스케줄러를 살펴 코드의 일정 부분 (작업)의 루비 보석이 가져 가라. 특정 시간, 특정 시간, 모든 x 시간 또는 단순히 CRON 문을 통해 작업을 실행하는 것을 이해합니다. rufus-scheduler는 Ruby에서 실행되기 때문에 cron/at를 대신 할 수 없습니다.

+0

가 제대로 작동하는 것처럼 보입니다. 나는 이것에 관해 돌아올 것이다. – s84

+0

직접 사용하지는 않았지만 node.js로 작업 스케줄러를 만드는 동안 아이디어를 얻었습니다. 코드가 잘 보이고 그것이 당신을 위해 일할 것이라고 생각합니다. 또한 : http://adam.heroku.com/past/2010/4/13/rethinking_cron/ – grm

+0

이 기사에서도 언급 된 내용이 있습니다. http://github.com/bvandenbos/resque-scheduler – grm

2

이렇게하려면 VPS에 투자하고 원하는대로 10 분 크론 작업을 만듭니다. 혼자서 cron을 모두 모방하려고하면 예상치 못한 방식으로 실패 할 가능성이 큽니다.

수면 과정을 만드는 것은 이것에 관해가는 길이 아닙니다. 서버가 자신이 좋아하는만큼 자신 만의 cron을 만들 수있는 자유를주지 않는다면 아마 이런 종류의 일에 대한 자신 만의 백그라운드 프로세스를 만들 수 없을 것입니다. 각 요청에 대해 살펴보고 얼마나 많은 작업을 수행해야하는지 볼 수 있습니다 (마지막 요청 이후 25 분이 지났 으면 2 번해야 할 수도 있음). 소급으로 돌아가서 할 수 있습니다.

하지만 심각하게. 이를 제대로 수행하려면 자체 서버가 필요합니다.

+0

휠을 다시 구현할 이유가 없습니다. 특히 널리 사용되는 강력하고 성숙한 cron을 고려해야합니다. +1 –

관련 문제