2009-10-27 6 views
0

나는 매일 업데이트를 받고 거기에서 일부 콘텐츠를 긁어 모으는 웹 사이트가 있습니다. 나는이 사이트가 특정 시간에 수동으로 업데이트된다는 것을 알고 있으며 이것을 반영하기 위해 cron 스케쥴을 설정했지만, 수동으로 업데이트되기 때문에 나중에 10 분 또는 20 분이 걸릴 수도 있습니다.Google App Engine을 사용한 지연된 작업 연결

지금 당장 hack-ish cron이 5 분마다 업데이트됩니다. 그러나 지연 라이브러리를 사용하여보다 정확한 방식으로 작업하고 싶습니다. 업데이트가 있었는지 확인할 수 있도록 지연된 작업을 체인으로 연결하려고합니다. 아무 것도 없으면 몇 분 동안 동일한 업데이트를 지연하고 마지막으로 업데이트가있을 때까지 다시 지연합니다.

나는 내가 일을하지만 오직 한 번 연기 것이라고 생각 몇 가지 코드가, 때 대신 내가 업데이 트있을 때까지 연기를 계속 할 필요가 있습니다

(I 파이썬을 사용하고 있습니다)

class Ripper(object): 
    def rip(self): 
     if siteHasNotBeenUpdated: 
      deferred.defer(self.rip, _countdown=120) 
     else: 
      updateMySite() 

이것은 단순하게 발췌 한 것일뿐입니다.
나는 이것이 작동하기에 충분히 간단하다고 생각 했었지만 어쩌면 나는 완전히 잘못 생각한 것일까?

답변

2

예제는 잘 작동합니다. deferred.defer가 있다고 생각 될 때 호출되는지 확인하기 위해 로깅을 추가해야합니다. 더 많은 정보가 도움이 될 것입니다 : 어떻게 siteHasNotBeenUpdated가 설정 되었습니까?

관련 문제