2017-02-03 4 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(); 
    } 
} 

이유는이 경우에 null을 반환 getResults()인가? 코드의 해당 부분에 도달하면 작업이 아직 수행되지 않았기 때문입니까? 어떻게하면 결과에 대한 준비가 끝나기 전까지 기다려야 액세스 할 수 있습니까?

답변

0

org.zendesk.client.v2.model.JobStatus.JobStatusEnum의 가능한 값을 보면 작업 대기열에 있거나 작업 상태가 작업 org.zendesk.client.v2.Zendesk#createUsers(org.zendesk.client.v2.model.User...)에 의해 반환되었을 때 작업이 계속 실행 중일 수 있습니다.

으로이 엔드 포인트는 job_status JSON 객체를 반환하고 작업을 할 백그라운드 작업을 큐잉 Zendesk Documentation for createUsers Operation

에서 볼 수 있습니다. 작업 완료 표시를 확인하려면 작업 상태 표시 엔드 포인트를 사용하십시오.

작업이 완료 될 때만 작업에 해당하는 결과가 전달됩니다.

가능한 경우 솔루션은 작업 상태가 대기열에 있거나 실행 중이 아닌지 (그렇지 않으면 완료되었는지 여부)와 결과를 검색하기 위해 성공적으로 완료했는지 여부를 500ms마다 확인해야합니다.

관련 문제