2017-02-03 5 views
0

Так что я сейчас работаю с API ZenDesk. Я создаю много пользователей, использующих пакетный метод CreateUser, который принимает массив из 100 пользовательских объектов. Теперь по некоторым причинам некоторые пользователи не могут генерировать. Поэтому я хотел получить результат JobStatus после создания пользователей, чтобы я мог легко идентифицировать проблему. Проблема заключается в том, что переменная result имеет значение null после выполнения метода CreateUsers().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() возвращающиеся нуль в этом случае? Это потому, что операция еще не выполнена, когда она достигает той части кода? Как я могу убедиться, что «жду» до тех пор, пока результат не будет готов, прежде чем я попытаюсь получить к нему доступ?

ответ

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 для проверки завершения задания.

только после того, как работа будет выполнена, будет выполнен соответствующий результат для операции.

Возможное решение в вашем случае - проверить (возможно, в отдельном потоке) каждые 500 мс, не будет ли статус задания не поставлен в очередь или не запущен (в противном случае указано, завершено ли оно), и если он успешно завершен, чтобы получить результаты.

 Смежные вопросы

  • Нет связанных вопросов^_^