【发布时间】:2019-06-05 03:38:25
【问题描述】:
我正在使用 GKE cron 作业和 Node.js。我怀疑是否有必要在 cron 工作完成后退出进程?我知道 GKE 会在 cron 任务完成后销毁 pod。
这是我的代码:
try {
await job();
} catch (error) {
console.error(`Run ${context.jobName} cron job failed.`);
console.error(error);
process.exit(1);
}
process.exit(0)
而且,我发现了另一个问题。如果您使用@google_cloud/logging-winston,如果您在 cron 作业完成后退出该进程。会报错:
错误:7 PERMISSION_DENIED:调用者在 Object.onReceiveStatus (/app/node_modules/grpc/ src/client_interceptors.js:1204:28) 在 InterceptingListener._callNext (/app/node_modules/grpc/src/client_interceptors.js:568:42) 在 InterceptingListener.onReceiveStatus (/app/node_modules/grpc/src/client_interceptors.js: 618:8) 在回调时 (/app/node_modules/grpc/src/client_interceptors.js:845:24)
我猜@google_cloud/logging-winston 尝试记录但 pod 被破坏了。
使用console.log,错误消失了。我猜@google_cloud/logging-winston 异步记录。
【问题讨论】:
标签: google-cloud-platform google-kubernetes-engine