複数の課題を順番に提出

複数の課題を順番に提出

連続して5つのジョブを提出する必要がありました。

これが私の命令です -

INPUT - 1000 1001 1002 1003 1004

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-year {INPUT} 

デフォルトでは、各入力に対してdockerコマンドを実行する必要があります。

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1000 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1001 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1002 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1003 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1004

上記は私が解決した方法です。もっと良い方法がないかと思っています。

答え1

コメントでは、Bodoが提​​案したコマンドは5つのコマンドを順番に実行します。

for INPUT in 1000 1001 1002 1003 1004; do docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year "${INPUT}"; done

または、次を展開します。

for INPUT in 1000 1001 1002 1003 1004
do 
  docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year "${INPUT}"
done

$NETWORKもちろん、これに合理的な値を設定したとします$IMAGE$TAG

上記のループは、次のコマンドを順番に実行します。

docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1000
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1001
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1002
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1003
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1004

コマンドを並列に実行するには、&コマンドの最後にを追加するだけですdocker

関連情報