2017-07-12 12 views
1

スパイダーがN分毎に実行されるようにスケジュールするにはヘルプが必要です。早い時期にほとんどの人がこの目的でreactor.callLaterreactor.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タスクスケジューラによってスケジュールされたクローラですが、プログラムでスケジュールする必要があります。

答えて

0

あなたはscheduleという名前の外部モジュールを試してみることができます:
schedule github link

を、それはあなたのニーズに適合しない場合を教えてください。

関連する問題