使用Google App Engine链接延期任务

时间:2009-10-27 10:44:46

标签: python google-app-engine deferred-execution

我有一个网站,我希望保持更新,每天从那里抓取一些内容。我知道网站在某个时间手动更新,我已经设置了cron时间表以反映这一点,但由于它是手动更新的,因此可能是10分钟甚至20分钟。

现在我每5分钟就有一次hack-ish cron更新,但我想使用延迟库以更精确的方式执行操作。我正在尝试链接延期任务,以便我可以检查是否有更新并将相同的更新推迟几分钟(如果没有),如果需要则再次推迟,直到最终更新。

我有一些我认为可以使用的代码,但它只会延迟一次,相反,我需要继续推迟,直到有更新:

(我正在使用Python)

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

这显然只是一个简化的摘录 我认为这很简单,但是我可能只是错了吗?

1 个答案:

答案 0 :(得分:2)

你给出的例子应该可以正常工作。您需要添加日志记录以确定在您认为是否正在调用deferred.defer时。更多信息也会有所帮助:siteHasNotBeenUpdated如何设置?