【问题标题】:Do we allow to see the progress during a function call?我们是否允许在函数调用期间查看进度?
【发布时间】:2016-07-18 21:46:44
【问题描述】:

我正在使用 Thrift 调用服务器。我正在尝试发送图像。是否有功能可以让我在 Thrift 上查看上传进度。

【问题讨论】:

    标签: upload thrift progress


    【解决方案1】:

    简短回答。

    没有。

    长答案

    要发送大量数据,例如图像,您可能已经定义了这样的服务函数(或任意更复杂):

    service FooBar {
        bool SendImageData( 1: binary data) 
    }
    

    您现在通过该函数调用传输图像。调用在成功或失败之前不会返回。 Thrift 基础架构没有为您提供开箱即用的获取任何进度数据的方法。但我们确实有一些选择:

    1. 我们可以编写一个特殊的 Thrift 传输,将原始传输包裹起来并为我们提供一些计数器。

    2. 在 API 级别,我们可以将调用更改为以块的形式发送(尤其是大)文件,而不是一个大块。通过这种方式,我们可以进行多次通话并了解我们正在取得的进展。

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 2015-12-25
      • 2014-10-03
      • 2011-06-24
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 2015-04-05
      • 2019-03-23
      相关资源
      最近更新 更多