2013-05-07 1 views
0

기본적으로 많은 RSS 피드를 크롤링하는 Rails 앱이 있습니다. 각 피드에는 예를 들어 3 시간과 같은 크롤링 간격이 있습니다.Ruby on Rails - Delayed Job - Return job id

문제는 먹이가 실제로 지연된 작업에 의해 크롤링되기 전에 가끔씩 더 많은 피드가 매일 더 많이 추가되기 때문에 (때로는 추가되는 경우가 많음) 때로는 3 시간이 끝난 경우입니다. 그 결과 점점 더 많은 일자리가 생깁니다. 내 문제가 분명해지기를 바랍니다.

기본적으로 각 피드의 현재 작업 ID를 저장하고 해당 피드의 새 작업을 대기열에 추가하기 전에 작업이 이미 완료되었는지 확인합니다.

어떻게 할 수 있습니까?

답변

0

"in_progress"와 같은 부울 변수를 지연된 작업 테이블에 추가하십시오. 항상 작업이 시작될 때이 속성을 true로 설정하십시오. 작업이 완료되면 false로 업데이트하십시오. "in_progress"속성이 false 인 경우 작업 만 시작하고 그렇지 않으면이 피드를 건너 뜁니다.

관련 문제