1
スパイダーがN分毎に実行されるようにスケジュールするにはヘルプが必要です。早い時期にほとんどの人がこの目的でreactor.callLater
とreactor.run
を使用していましたが、今はこれらの機能を使用する可能性はないようです。私はそれをプログラム的にどのようにスケジューリングできますか?スクラムスパイダーはN分ごとに実行するようにスケジュールします
def run_crawl():
"""
Run a spider within Twisted. Once it completes,
wait 5 seconds and run another spider.
"""
runner = CrawlerRunner(get_project_settings())
runner.crawl(SpiderA)
runner.crawl(SpiderB)
deferred = runner.join()
deferred.addCallback(reactor.callLater, 5, run_crawl)
return deferred
run_crawl()
reactor.run()
現時点では、Windowsタスクスケジューラによってスケジュールされたクローラですが、プログラムでスケジュールする必要があります。