【发布时间】:2020-12-24 04:25:20
【问题描述】:
我不断收到此错误,不太确定发生了什么。
queueFunction
Error: Process exited with code 16
at process.<anonymous> (/layers/google.nodejs.functions-
framework/functions-framework/node_modules/@google-cloud/functions-
framework/build/src/invoker.js:275:22)
at process.emit (events.js:315:20)
at process.EventEmitter.emit (domain.js:483:12)
at process.exit (internal/process/per_thread.js:167:15)
at Object.sendCrashResponse (/layers/google.nodejs.functions-
framework/functions-framework/node_modules/@google-cloud/functions-
framework/build/src/logger.js:37:9)
at process.<anonymous> (/layers/google.nodejs.functions-
framework/functions-framework/node_modules/@google-cloud/functions-
framework/build/src/invoker.js:271:22)
at process.emit (events.js:315:20)
at process.EventEmitter.emit (domain.js:483:12)
at processPromiseRejections (internal/process/promises.js:209:33)
at processTicksAndRejections (internal/process/task_queues.js:98:32)
queueMatch
Error: Process exited with code 16
at process.<anonymous> (/layers/google.nodejs.functions-
framework/functions-framework/node_modules/@google-cloud/functions-
framework/build/src/invoker.js:275:22)
at process.emit (events.js:315:20)
at process.EventEmitter.emit (domain.js:483:12)
at process.exit (internal/process/per_thread.js:167:15)
at Object.sendCrashResponse (/layers/google.nodejs.functions-
framework/functions-framework/node_modules/@google-cloud/functions-
framework/build/src/logger.js:37:9)
at process.<anonymous> (/layers/google.nodejs.functions-
framework/functions-framework/node_modules/@google-cloud/functions-
framework/build/src/invoker.js:271:22)
at process.emit (events.js:315:20)
at process.EventEmitter.emit (domain.js:483:12)
at processPromiseRejections (internal/process/promises.js:209:33)
at processTicksAndRejections (internal/process/task_queues.js:98:32)
这是针对我创建的函数,该函数有时似乎执行,然后不执行。
exports.queueFunction = globalFunctions.runWith(runtimeOpts).https.onRequest((request, response) => {
try {
challengeId = '';
console.log("Running cron challenge...")
var timesRun = 0;
var interval = setInterval(() => {
timesRun += 1;
if (timesRun === 12) {
console.log("Stopping cron challenge interval...")
clearInterval(interval);
}
console.log("Executing challenge match...")
getChallenges();
}, 5000);
response.status(200).send({ success: 'success' });
} catch (error) {
response.status(500).send({ error: 'error' });
}
});
队列只是检查集合中是否存在匹配队列
db = admin.firestore();
const tourRef = db.collection('ChallengeQueue');
const snapshot = await tourRef.where('challengeId', '==', challengeId).get();
const queuedata = [];
if (snapshot.empty) {
console.log('No users online.');
return;
}
snapshot.forEach(doc => {
if (doc.id !== playerId) {
queuedata.push(doc.data());
}
});
【问题讨论】:
-
在 Stack Overflow 上,请不要显示文字和代码的图片。将文本复制到问题本身并设置格式,以便于阅读、复制和搜索。您可以使用底部的编辑链接编辑问题以更正此问题。
-
感谢@DougStevenson 指出...认为这将有助于识别错误
-
如果您只是将文本复制到问题中会更有帮助。屏幕截图本身没有添加任何内容 - 重要的是文本。 Please read this..
-
This answer 表明这是由
unhandledException或unhandledRejection事件引起的。由于您的异步代码中缺少.catch()或 try-catch 块,您可能会遇到未处理的拒绝。在您的代码中添加一些错误处理,问题应该会消失,或者至少会变得显而易见。
标签: javascript firebase google-cloud-firestore google-cloud-functions