1
0
mirror of https://github.com/sasjs/server.git synced 2026-01-11 08:20:04 +00:00

chore: bug fixes for session crash details + return code

This commit is contained in:
Saad Jutt
2021-11-15 21:30:12 +05:00
parent 9ee7951816
commit f030aa1516
6 changed files with 15 additions and 11 deletions

View File

@@ -74,11 +74,13 @@ ${program}`
await moveFile(codePath + '.bkp', codePath)
// we now need to poll the session array
while (!session.completed || !session.crashed) {
while (!session.completed) {
await delay(50)
}
const log = (await fileExists(logPath)) ? await readFile(logPath) : ''
const log =
((await fileExists(logPath)) ? await readFile(logPath) : '') +
session.crashed
const webout = (await fileExists(weboutPath))
? await readFile(weboutPath)
: ''

View File

@@ -83,7 +83,7 @@ export class SessionController {
})
.catch((err) => {
session.completed = true
session.crashed = true
session.crashed = err.toString()
console.log('session crashed', session.id, err)
})
@@ -100,7 +100,9 @@ export class SessionController {
public async waitForSession(session: Session) {
const codeFilePath = path.join(session.path, 'code.sas')
while (await fileExists(codeFilePath)) {}
// TODO: don't wait forever
while ((await fileExists(codeFilePath)) && !session.crashed) {}
console.log('session crashed?', !!session.crashed, session.crashed)
session.ready = true
return Promise.resolve(session)

View File

@@ -64,10 +64,10 @@ export class STPController {
@Post('/execute')
public async executeReturnJson(
@Request() request: express.Request,
@Body() body: ExecuteReturnJsonPayload,
@Body() body?: ExecuteReturnJsonPayload,
@Query() _program?: string
): Promise<ExecuteReturnJsonResponse> {
const program = _program ?? body._program
const program = _program ?? body?._program
return executeReturnJson(request, program!)
}
}
@@ -126,6 +126,7 @@ const executeReturnJson = async (
}
} catch (err: any) {
throw {
code: 400,
status: 'failure',
message: 'Job execution failed.',
error: typeof err === 'object' ? err.toString() : err