0

Azure バッチ python API を使用しています。新しいジョブを作成すると、終了コード 128 が表示されます (画像を添付)。その理由が何であるかをどうすれば知ることができますか?

終了コードエラー

このコードを使用して新しいジョブを作成しています:

def wrap_commands_in_shell(commands):
    return "/bin/bash -c 'set -e; set -o pipefail; {}; wait'".format(';'.join(commands))

job_tasks = ['cd /mnt/batch/tasks/shared/ && git clone https://github.com/cryptobiu/OSPSI.git',
             'cd /mnt/batch/tasks/shared/OSPSI && git checkout cloud',
             'cd /mnt/batch/tasks/shared/OSPSI && cmake CMake',
             'cd /mnt/batch/tasks/shared/OSPSI && mkdir -p assets'
             ]

job_creation_information = batch.models.JobAddParameter(job_id, batch.models.PoolInformation(pool_id=pool_id),
                                                        job_preparation_task=batch.models.JobPreparationTask(
                                                            command_line=wrap_commands_in_shell(
                                                                job_tasks),
                                                            run_elevated=True,
                                                            wait_for_success=True
                                                        )
                                                        )
4

1 に答える 1

3

診断するには、Azure ポータルで、Azure Batch Explorer を使用するか、コード経由で SDK を使用して、失敗したジョブ準備タスクを確認できますstderr.txtstdout.txtジョブ準備タスクを実行したノードを確認したら、そのノードに移動し、次にジョブ ディレクトリに移動します。ジョブ ディレクトリの下に、ディレクトリが表示されますjobpreparation。そのディレクトリには と がstderr.txtありstdout.txtます。

終了コードに関しては、これを引き起こす可能性のある潜在的な問題がいくつかあります。

  1. およびその他の依存関係を開始タスクの一部としてインストールしましたgitか?cmake
  2. https://github.com/cryptobiu/OSPSIに移動しようとすると、404 が返されます。このレポは存在しますか?プライベート リポジトリの場合、正しい認証情報を提供していますか?

job_tasksアレイに関するいくつかの注意事項:

  • パスをハードコーディングしないでください/mnt/batch/tasks/shared。「共有」ディレクトリへのこのパスは、Linux ディストリビューション間で同じではない場合があります。代わりに環境変数を使用する必要があります$AZ_BATCH_NODE_SHARED_DIR。ここで、Azure Batch の事前入力済み環境変数の完全な一覧を表示できます
  • コマンドごとにディレクトリに cd する必要はありません。一度だけ実行する必要があります。次のように書き換えることができますjob_tasks ['cd $AZ_BATCH_NODE_SHARED_DIR', 'TODO: INSERT YOUR COMMANDS TO SETUP AUTH WITH GITHUB FOR PRIVATE REPO', 'git clone https://github.com/cryptobiu/OSPSI.git', 'cd OSPSI', 'cmake CMake', 'mkdir -p assets']
于 2016-12-27T13:47:48.260 に答える