약 2 주 전 나는 Add Site Account flow chart을 구현하는 프로그램을 작성했습니다.무한 루프 호출 getSiteRefreshInfo
몇 일 동안 여러 번 실행했는데 매번 잘 작동했습니다.
그런 다음 다른 일을하고 약 일주일 후 위의 프로그램을 다시 실행 해 보았습니다. 이제는 작동하지 않았지만 getSiteRefreshInfo (순환 차트의 왼쪽 아래 모서리에있는 루프) 호출에서 무한 루프가 발생했습니다. 다음 3-4 일 동안 여러 번 실행 해 보았습니다. 매번 루프에 넣습니다. 내가 프로그램을 죽이기 전에 20-30 분 동안 반복했다. 정확하게 똑같은 자격 증명을 사용하여 정확하게 일주일 전에 올바르게 작동 한 소스 코드입니다.
때마다 "코드"0, 그리고 "siteRefreshStatus는"순서도에 따라 I 2-4 초 후에 호출 반복해야 의미 "LOGIN_SUCCESS"이었다
{
"siteRefreshStatus": {
"siteRefreshStatusId": 2,
"siteRefreshStatus": "LOGIN_SUCCESS"
},
"siteRefreshMode": {
"refreshModeId": 2,
"refreshMode": "NORMAL"
},
"updateInitTime": 1418945894,
"nextUpdate": 1418946794,
"code": 0,
"itemRefreshInfo": [
{
"memItemId": 10070147,
"itemSuggestedFlow": {
"suggestedFlowId": 2,
"suggestedFlow": "REFRESH"
},
"errorCode": 405,
"retryCount": 0
}
],
"noOfRetry": 0
}
계정 I을 addSiteAccount1에 전달하는 것은 American Express 신용 카드 계정이며이 사용자에 대해 내가 추가 한 유일한 계정입니다 (즉, 새로 고침해야하는 유일한 계정 임). 일단 프로그램이 반복되는 동안, 나는이 같은 자격 증명을 사용하여 American Express 웹 사이트에 수동으로 로그온했으며, 계정을보고 최근 거래 목록을 얻을 수있었습니다. Yodlee는 아마 브라우저와 다른 인터페이스를 사용한다는 것을 알고 있습니다. 그렇지만 Amex 웹 사이트가 작동하고 있다는 것을 알게되었습니다.
나는 무슨 일이 있었는지를보기 위해 루프를 30 분 이상 돌리려고했다. 한 시간 55 분 후 나는이 예외 가지고 :
{
"errorOccurred": "true",
"exceptionType": "Unknown Exception Occurred",
"referenceCode": "_022c5fa3-3933-4491-b390-1150d8b28ab3",
"detailedMessage": "Technical Difficulty Processing Request"
}
내가 3-4 일 동안 프로그램을 여러 번 실행 시도를하고 그것은 루프마다 얻었다. 그런 다음 갑자기 다시 정상적으로 작동하기 시작했고 현재로서는 올바르게 작동합니다. 정확하게 동일한 소스 코드와 자격 증명이 잠시 동안 올바르게 실행되었다가 3-4 일 동안 루프에 들어갔다가 올바르게 다시 실행 중입니다.
이것에 대해 두 가지 질문이 있습니다
1) 어떻게해야 이러한 루프에서 I 종료? API 플로우 차트를 해석하는 방법은 루프를 종료하라는 "code"또는 "siteRefreshStatus"값을 얻을 때까지 반복해야한다는 것입니다. 내 자신의 타이머를 쉽게 구현할 수는 있지만 모든 시간 값이 적절한 지 알 수 없습니다. Yodlee는 루프가 너무 오래 지속되었는지 알기에 더 좋은 위치에 있으므로이 경우 REFRESH_TIMED_OUT과 같은 수익을 기대합니다.
2) 제작 과정에서이 코드를 실행 한 경우 적어도 3 일 동안이 고객의 정보를 새로 고칠 수 없었습니다.이 응용 프로그램은 매우 오랜 시간이 걸릴 것입니다. 이 경우 우리가 시도 할 수있는 것이 있습니까?
감사합니다 !!!