質問

毎日更新し、そこからいくつかのコンテンツを取得したいと考えているウェブサイトがあります。サイトは特定の時間に手動で更新され、これを反映するようにcronスケジュールを設定しましたが、手動で更新されるため、10分後または20分後になる可能性があります。

今は5分ごとにハックのような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