一度に1つの入力を受け取り、それを処理するPythonスクリプトがあります。同時に異なる入力でスクリプトを並行して実行したい。50回または100回のようですが、入力が異なる場合はtxtファイルからフィードします。
私は次のようなスクリプトを実行します:
python script.py -d url1
その後
python script.py -d url2
その後
python script.py -d url3
一度に1つの引数を入力する代わりに、テキストファイルからそれらのURLをフィードして、並行して処理したいと思います。
gnu-parallelを使用してbashシェルでこのスクリプトを実行しようとしましたが、bashスクリプトはpythonシェルを実行しないため、エラーが発生します。
コードは次のとおりです---
#!/usr/bin/env bash
doit() {
host="$1"
~/script/python script1.py -d $host
}
export -f doit
cat "$1" | parallel -j50 -k doit
txtファイルの内容---
url1.com
url2.com
url3.com
--------
url1000.com
url_any.com
ではGNUパラレルこのように、:
parallel --dry-run -a arguments.txt python script.py
これは、引数がの1行に1つであることを前提としています"arguments.txt"
。
parallel -k ...
必要に応じて、出力を整理するために使用します。
parallel --bar ...
プログレスバーを取得するために使用します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加