2009-10-27 32 views
0

我有一個網站,我期待着每天都保持更新並從那裏抓取一些內容。我知道該網站在某個特定時間手動更新,並且我已經設置了cron時間表來反映這一點,但由於它是手動更新的,因此可能是10甚至20分鐘後。使用Google App Engine鏈接推遲任務

現在我每5分鐘就有一次hack-ish cron更新,但我希望使用延遲的庫以更精確的方式進行操作。我試圖鏈延緩的任務,以便我可以檢查是否有更新,並推遲同樣的更新a幾分鐘,如果沒有,並且如果需要的話再次推遲,直到最終有更新。

我有一些代碼,我想會的工作,但它永遠只能推遲一次,當相反,我需要繼續推遲,直到有更新:

(我使用Python)

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

這顯然只是一個簡化的摘錄。
我認爲這很簡單,但也許我錯了?

回答

2

你給的例子應該工作得很好。您需要添加日誌記錄以確定是否在您認爲是deferred.defer時被調用。更多信息也會有所幫助:siteHasNotBeenUpdated如何設置?