Timeouts are processed by a lambda container. There is currently no signal or callback, so in this case it is best to set the timer to expire a few minutes before the timeout value in order to clear the logs and stop the lambda yourself.
context.done, context.succeed context.fail:
const { done, succeed, fail } = context;
context.done = (...params) => {
logErrorAndFlushLogs();
done(...params);
};
context.succeed = (...params) => {
logErrorAndFlushLogs();
succeed(...params);
};
context.fail = (...params) => {
logErrorAndFlushLogs();
fail(...params);
};