【发布时间】:2020-03-15 22:14:34
【问题描述】:
此触发器用于检测日程中的序列是否已更新,并帮助更新日程的概览状态和完成时间。
但是当发生如下内部错误时,它并不总是有效:
Error: 13 INTERNAL: An internal error occurred. at Object.exports.createStatusError
(/srv/node_modules/grpc/src/common.js:91:15) at Object.onReceiveStatus
(/srv/node_modules/grpc/src/client_interceptors.js:1204:28) at InterceptingListener._callNext
(/srv/node_modules/grpc/src/client_interceptors.js:568:42) at InterceptingListener.onReceiveStatus
(/srv/node_modules/grpc/src/client_interceptors.js:618:8) at callback
(/srv/node_modules/grpc/src/client_interceptors.js:845:24)
这是我的代码:
export const calc_status = function.firestore.document("users/{userid}/schedule/{scheduledid}").onUpdate(async (change, context) => {
// before error occurred ...
const data = change.after.data();
let curStatus = data.status;
...
...
// after getting occurred ...
if(data.status !== curStatus ) {
data.status = curStatus;
if(curStatus === 'finished') {
data.finish_time = new Date().toISOString();
}
if(curStatus !== 'expired'){
data.update_time = data.expired_time;
data.finish_time = data.expired_time;
} else {
data.update_time = new Date().toISOString();
}
await change.after.ref.update(data);
return Status.SUCCEEDED;
}
return Status.SUCCEEDED;
}
我很困惑为什么会出现这个错误,因为这个功能大部分时间都可以正常工作。
有人遇到和我一样的问题吗?
为什么会发生错误?你的解决方案是什么?
谢谢。
【问题讨论】:
-
可能是您最好的选择它联系支持support.google.com/firebase/contact/support
标签: firebase google-cloud-firestore google-cloud-functions