【发布时间】:2016-07-18 21:46:44
【问题描述】:
我正在使用 Thrift 调用服务器。我正在尝试发送图像。是否有功能可以让我在 Thrift 上查看上传进度。
【问题讨论】:
我正在使用 Thrift 调用服务器。我正在尝试发送图像。是否有功能可以让我在 Thrift 上查看上传进度。
【问题讨论】:
没有。
要发送大量数据,例如图像,您可能已经定义了这样的服务函数(或任意更复杂):
service FooBar {
bool SendImageData( 1: binary data)
}
您现在通过该函数调用传输图像。调用在成功或失败之前不会返回。 Thrift 基础架构没有为您提供开箱即用的获取任何进度数据的方法。但我们确实有一些选择:
我们可以编写一个特殊的 Thrift 传输,将原始传输包裹起来并为我们提供一些计数器。
在 API 级别,我们可以将调用更改为以块的形式发送(尤其是大)文件,而不是一个大块。通过这种方式,我们可以进行多次通话并了解我们正在取得的进展。
【讨论】: