代码之家  ›  专栏  ›  技术社区  ›  D. Maul

Golang lint规则要求启动带有恢复的goroutine

  •  1
  • D. Maul  · 技术社区  · 1 年前

    我想创建一个go-lint规则,要求所有goroutine都使用包装器函数启动,该函数可以从goroutine上的崩溃中恢复(这还需要一个onRecover回调,该回调将取消请求的上下文)。我试图解决的痛点是,任何goroutine上的崩溃都会导致整个服务器崩溃——我想防止这种情况发生。

    我当前使用 https://golangci-lint.run/usage/linters/ 我的大部分门楣。

    Go例程包装器的两个例子可以防止goroutine中的崩溃:

    此外,请随意指出我为什么不应该这样做。这似乎是一个显而易见的想法,考虑到这个lint规则并不存在,如果我错过了什么,我也不会感到惊讶。

    0 回复  |  直到 1 年前