Kubernetes 准入请求超时后,defer 函数还会执行吗?
Posted
技术标签:
【中文标题】Kubernetes 准入请求超时后,defer 函数还会执行吗?【英文标题】:Will defer function still get executed after a Kubernetes admission request has timed out? 【发布时间】:2022-01-22 12:14:45 【问题描述】:例如,延迟函数是在 webhook 的逻辑中实现的(webhook 是用 Golang 编写的)。 Webhook 在完成时间过长后超时。这种情况下,defer函数还会被执行吗?
请求超时是通过 context.WithTimeout 为 webhook 设置的。
【问题讨论】:
建议的解决方案对您有帮助吗?否则你能补充更多细节吗? 好的,谢谢! :) 【参考方案1】:通常最好清楚地说明您正在谈论的编程语言,尽管我可以弄清楚。
在 Go 中,defer 函子(无论你想调用什么)都会在方法返回时执行,无论它如何完成,除非你设法以激烈的方式杀死正在执行的进程,甚至可能如此。
【讨论】:
谢谢大卫!我用 Golang 作为编程语言更新了问题的详细信息。以上是关于Kubernetes 准入请求超时后,defer 函数还会执行吗?的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes入门至精通 | Kubernetes集群安全 - 准入控制