undefined fix, plus extra cater for error now

This commit is contained in:
Steve Walsh 2023-11-13 10:25:50 +00:00
parent 902fb2db52
commit 04a7c9dbf7
2 changed files with 25 additions and 15 deletions

View File

@ -233,7 +233,7 @@ module.exports = function (RED) {
const result = vm2Instance.run(functionText); const result = vm2Instance.run(functionText);
const afterVm2 = process.hrtime(beforeVm2); const afterVm2 = process.hrtime(beforeVm2);
payloadValidator.verify(result); payloadValidator.verify(result);
sendResults(this, msg._msgid, result); sendResults(this, msg._msgid, msg);
const logger = clone(msg.logger); const logger = clone(msg.logger);
let lambdaRequestId; let lambdaRequestId;
let { let {
@ -252,28 +252,26 @@ module.exports = function (RED) {
} = RED; } = RED;
if (codefile) { if (codefile) {
workerId = workerId.split(":::")[0];
const nodeId = this.id.split(`${organization}-${workerId}-`)[1];
try { try {
const messageToSend = clone(msg); const messageToSend = clone(msg);
delete messageToSend.logger; delete messageToSend.logger;
const beforeCodefile = process.hrtime(); const beforeCodefile = process.hrtime();
const { const {
result: { payload: {
Result: { msg: responseMessage }, result,
error
}, },
} = await codefile.run({ srcCode: this.func, context: { msg } }); requestId
} = await codefile.run({ srcCode: this.func, context: { msg } });
const afterCodefile = process.hrtime(beforeCodefile); const afterCodefile = process.hrtime(beforeCodefile);
responseMessage.logger = logger;
payloadValidator.verify(responseMessage);
// to make function node return result from code file uncomment this line, and comment out the sendResults above
// sendResults(this,msg._msgid, responseMessage);
workerId = workerId.split(":::")[0];
const nodeId = this.id.split(`${organization}-${workerId}-`)[1];
lambdaRequestId = responseMessage.lambdaRequestId;
const metrics = { const metrics = {
lambdaRequestId: requestId, lambdaRequestId: requestId,
action:'codefile-success',
organization, organization,
workerId: workerId, workerId: workerId,
nodeId: nodeId, nodeId: nodeId,
@ -287,12 +285,24 @@ module.exports = function (RED) {
) / 100 ) / 100
}ms`, }ms`,
}; };
if(result){
// not required right now since we dont go via this path
// const responseMessage = result.msg
// responseMessage.logger = logger;
// payloadValidator.verify(responseMessage);
// sendResults(this,msg._msgid, responseMessage);
}
else{
metrics.error = error;
metrics.action = 'codefile-error';
}
logger.info(JSON.stringify(metrics, null, 2)); logger.info(JSON.stringify(metrics, null, 2));
} catch (e) { } catch (e) {
logger.error(e)
logger.error({ logger.error({
message: "Error running codefile", message: "Error running codefile",
error: e, action:'codefile-error',
lambdaRequestId, error: e.message,
organization, organization,
workerId: workerId, workerId: workerId,
nodeId: nodeId, nodeId: nodeId,

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "@servisbot/node-red", "name": "@servisbot/node-red",
"version": "0.18.7-patch-11", "version": "0.18.7-patch-12",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {