Я запустил скрипт, который использует node-jq.Мне пришлось понизить упакованный двоичный файл jq до версии 1.5, потому что я получил GLIBC_2.23 not found
На образе док-станции lambci, он работает нормально.
Я попытался запустить его на AWS Lambda,и он добавляет часть childProcess.spawn
без вывода:
https://github.com/sanack/node-jq/blob/master/src/exec.js#L27
import childProcess from 'child_process'
import stripEof from 'strip-eof'
const TEN_MEBIBYTE = 1024 * 1024 * 10
const exec = (command, args) => {
return new Promise((resolve, reject) => {
var stdout = ''
var stderr = ''
const process = childProcess.spawn(
command,
args,
{ maxBuffer: TEN_MEBIBYTE }
)
process.stdout.on('data', (data) => {
stdout += data
})
process.stderr.on('data', (data) => {
stderr += data
})
process.on('close', (code) => {
if (code !== 0) {
return reject(Error(stderr))
} else {
return resolve(stripEof(stdout))
}
})
})
}
export default exec
Я добавил эту строку:
process.on('exit', (code, signal) => {
console.log('exit');
resolve({ code, signal, stdout, stderr });
});
и получил это:
2019-03-13T01:17:48.810Z 350a83b3-2f1f-437d-91dc-4dfcdb1b362f { code: null, signal: 'SIGSEGV', stdout: '', stderr: '' }
Поможет ли выполнение jq из источника?https://github.com/stedolan/jq/issues/1598