ここに私のシェルスクリプトがあります
#!/bin/bash
crawlers(){
nohup scrapy crawl a &
nohup scrapy crawl b &
wait $!
nohup scrapy crawl f &
nohup scrapy crawl g &
wait $!
nohup scrapy crawl h &
nohup scrapy crawl i &
wait $!
nohup scrapy crawl i &
nohup scrapy crawl j &
nohup scrapy crawl k &
wait $!
nohup scrapy crawl l &
nohup scrapy crawl m &
}
PATH=$PATH:/usr/local/bin
export PATH
python add_columns.py &
wait $!
crawlers &
wait $!
python final_script.py &
最初に実行したいadd_columns.py スクリプト
次に、クローラースクリプト (クローラー内のすべてのスクリプトは非同期です)
最後にfinal_script.pyを実行したい
しかし、上記のシェルスクリプトを使用して
final_script.py は終了前に実行中です
nohup scrapy crawl l &
nohup scrapy crawl m &
クラルワーズを待ちますが
crawlers &
wait $!
最後に、どうすれば、crawler() メソッドですべてのジョブが完了した後にのみ final_script.py を呼び出すことができますか。
ありがとう