2017-02-03 20 views
0

現在、ZenDesk APIを使用しています。私は100個までのユーザーオブジェクトの配列をとるバッチCreateUserメソッドを使用して多くのユーザーを作成しています。今、何らかの理由で、一部のユーザーが生成に失敗しました。したがって、問題を容易に特定できるように、ユーザーを作成した後でJobStatusの結果を取得したかったのです。問題は、CreateUsers()メソッドの実行後に結果変数がnullであることです。Zendesk - CreateUser JobStatus結果がNullです

いくつかのサンプルコード:

public static void createEndUsers(Zendesk zd){  
    for(Organization org : zd.getOrganizations()){ 
     List<User> usersList = getUsersPerOrg(org, 0) 
     JobStatus js = zd.createUsers(usersList); 

     List<T> resultElements = js.getResults(); 
    } 
} 

getResults()このインスタンスにnullを返しているのはなぜ?それはコードのその部分に達したときに操作がまだ実行されていないからですか?私はそれにアクセスしようとする前に結果が準備が整うまで「待つ」ことをどうすればいいのですか?

答えて

0

org.zendesk.client.v2.model.JobStatus.JobStatusEnumの値を調べると、ジョブが実行待ちになっている可能性があります。または、ジョブの状態が操作org.zendesk.client.v2.Zendesk#createUsers(org.zendesk.client.v2.model.User...)によって返されたときにジョブが実行中である可能性があります。

Zendesk Documentation for createUsers Operation

から分かるように、このエンドポイントは、JOB_STATUS JSONオブジェクトを返し、仕事をするためにバックグラウンドジョブをキューに入れます。 Show Job Status Endpointを使用して、ジョブの完了を確認します。

ジョブが完了した場合にのみ、操作に対応する結果が出力されます。

場合によっては、ジョブステータスがキューに入れられていないか、実行されていないか(そうでなければ完了したかどうか)、そして結果を取得するために正常に完了したかどうかを500msごとにチェックすることができます。

関連する問題