1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-19 10:00:06 +00:00

fix(job-state-poll): Continue polling for job state despite errored requests

This commit is contained in:
Krishna Acondy
2021-05-11 08:23:40 +01:00
parent dffcb66d54
commit 98114c5591

View File

@@ -594,15 +594,16 @@ export class SASViyaApiClient {
} }
} }
const { result: createFolderResponse } = const {
await this.requestClient.post<Folder>( result: createFolderResponse
`/folders/folders?parentFolderUri=${parentFolderUri}`, } = await this.requestClient.post<Folder>(
{ `/folders/folders?parentFolderUri=${parentFolderUri}`,
name: folderName, {
type: 'folder' name: folderName,
}, type: 'folder'
accessToken },
) accessToken
)
// update folder map with newly created folder. // update folder map with newly created folder.
await this.populateFolderMap( await this.populateFolderMap(
@@ -874,7 +875,9 @@ export class SASViyaApiClient {
throw new Error(`URI of job definition was not found.`) throw new Error(`URI of job definition was not found.`)
} }
const { result: jobDefinition } = await this.requestClient const {
result: jobDefinition
} = await this.requestClient
.get<JobDefinition>( .get<JobDefinition>(
`${this.serverUrl}${jobDefinitionLink.href}`, `${this.serverUrl}${jobDefinitionLink.href}`,
accessToken accessToken
@@ -1107,7 +1110,11 @@ export class SASViyaApiClient {
this.debug this.debug
) )
.catch((err) => { .catch((err) => {
throw prefixMessage(err, 'Error while getting job state. ') console.error(
'Error fetching job state. Starting poll, assuming job to be running.',
err
)
return { result: 'running' }
}) })
const currentState = state.trim() const currentState = state.trim()
@@ -1134,10 +1141,17 @@ export class SASViyaApiClient {
this.debug this.debug
) )
.catch((err) => { .catch((err) => {
throw prefixMessage( if (pollCount >= MAX_POLL_COUNT) {
err, throw prefixMessage(
'Error while getting job state after interval. ' err,
'Error while getting job state after interval. '
)
}
console.error(
'Error fetching job state. Resuming poll, assuming job to be running.',
err
) )
return { result: 'running' }
}) })
postedJobState = jobState.trim() postedJobState = jobState.trim()