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

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

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

(我正在使用Python)

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

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

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top