小编Ash*_*rva的帖子

"双"和"双"的区别

__PRE__

"Double"和"double"有什么区别?

*请帮忙

java double

21
推荐指数
1
解决办法
4万
查看次数

如何测量 gRPC 响应的大小

我正在尝试想出更好的方法来处理 grpc 中 4mb 消息大小的限制。我需要一种方法来测量客户端收到的 grpc 响应的大小。当响应超过 4mb 限制时,grpc 将显示如下错误消息:

无法问候:rpc 错误:代码 = ResourceExhausted desc = grpc:收到的消息大于最大值(74000087 与 4194304)

“74000087”是响应的实际大小。这是如何计算的?有没有办法获得这个值?

我已经阅读了有关该主题的多篇文章,但什么也没找到?有人可以帮忙吗?谢谢。

我的实现是使用golang

rpc go grpc grpc-python grpc-go

5
推荐指数
2
解决办法
9455
查看次数

处理上下文取消错误

我是新手,Go并且每天都在学习它。我context cancelled在我们的项目中看到了很多错误,这让我很恼火。所以我想深入挖掘一下,弄清楚发生了什么。

如果我没记错的话,用“简单”的术语来说,上下文取消意味着给定的请求(通过 grpc 使用 gokit)已经超时。正确的?如果是这样,解决此问题的最佳方法是什么?

  1. 我应该调查为什么这些请求超时(可能底层数据库查询需要很长时间或其他什么)并修复这些请求吗?

  2. 它是Go内部的东西,可能暗示与某些相关的东西Go吗?

  3. 开始处理此错误的最佳方法是什么?现在,我只看到“上下文已取消”,但不知道为什么会这样。

go grpc grpc-go

3
推荐指数
1
解决办法
5493
查看次数

nil 接口值在 Golang 中如何工作

我有以下代码来测试 golang 接口值何时为 false。

package main

import (
    "fmt"
)

func Foo(x interface{}) {
    fmt.Println("33, x == nil = ", x == nil)
}
func main() {
    var x *int = nil
    fmt.Println("11, x == nil = ", x == nil)

    var a interface{}
    fmt.Println(22, &a, &a == nil, a == nil) // 0xc0000935c0 false true
    Foo(x)
}

Run Code Online (Sandbox Code Playgroud)

结果是

11, x == nil =  true
22 0xc00010a040 false true
33, x == nil =  false
Run Code Online (Sandbox Code Playgroud)

我不明白输出。特别是,我不明白为什么&a不是 nil,因为 a …

interface go

1
推荐指数
1
解决办法
2908
查看次数

如何从 Goroutines 中捕获错误?

我创建了需要在 goroutine 中运行的函数,代码正在运行(这只是说明问题的简单示例)

go rze(ftFilePath, 2)


func rze(ftDataPath,duration time.Duration) error {

}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情

errs := make(chan error, 1)
err := go rze(ftFilePath, 2)
if err != nil{
    r <- Result{result, errs}
} 
Run Code Online (Sandbox Code Playgroud)

但不确定如何操作,大多数示例都展示了使用https://tour.golang.org/concurrency/5时如何操作func

go

0
推荐指数
2
解决办法
484
查看次数

标签 统计

go ×4

grpc ×2

grpc-go ×2

double ×1

grpc-python ×1

interface ×1

java ×1

rpc ×1