开发者社区 > 云原生 > Serverless > 正文

在函数计算FC对于启动了多个负载的情况我要查询某个任务的进度怎么处理?

在函数计算FC对于启动了多个负载的情况我要查询某个任务的进度(调用/sdapi/v1/progress接口)怎么处理?当到达实例并发度数量后,会新建一个SD实例,如果我调用/sdapi/v1/progress接口我会获得的应该是最后一个实例当前任务的进度吧?

这样就相当于我无法同时获得多个实例中的进度了,是这样的么?lQLPJxejoEIF8LTNAgfNAzWwxXYeV-Ee0iQFPNjvVJi8AA_821_519.png

展开
收起
三分钟热度的鱼 2023-11-15 21:46:29 117 0
3 条回答
写回答
取消 提交回答
  • 是的,当您启动了多个负载时,如果到达实例并发度数量后会新建一个SD实例,那么调用/sdapi/v1/progress接口只会返回最后一个实例当前任务的进度。这是因为该接口只能查询到单个实例的进度信息,无法同时获得多个实例中的进度。

    如果您需要查询所有实例的任务进度,可以考虑使用阿里云提供的日志服务(Log Service)来收集和分析函数计算FC中各个实例的日志信息。通过在每个实例中配置日志采集器,将日志发送到指定的日志库中,然后使用日志服务提供的查询功能,可以方便地查询和分析所有实例的日志信息,包括任务进度等。

    2023-11-29 17:50:04
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在函数计算FC中,如果您启动了多个负载,并且每个负载都在执行不同的任务,则可以使用/sdapi/v1/progress接口查询各个任务的进度。当您调用该接口时,您需要提供与任务关联的任务ID作为参数。这样,您就可以获得指定任务的当前进度。
    如果您的SD实例数量达到并发度限制并且需要创建新的实例来处理更多的任务,则每个新实例将执行一个单独的任务。因此,如果您要查询所有正在运行任务的进度,则需要为每个任务调用/sdapi/v1/progress接口并提供相应的任务ID作为参数。这可能会导致一些开销,但是这是唯一的方法来获取所有任务的进度信息。
    需要注意的是,如果您有大量任务需要处理,则可能需要考虑优化您的工作流程以减少查询进度所需的时间和资源消耗。例如,您可以考虑使用批量操作或定期轮询进度等方法来减少查询频率和开销。

    2023-11-15 21:55:28
    赞同 展开评论 打赏
  • api 模式建议是一个实例只允许一个并发请求,如果您配置了的话,progress 就会打到新实例。此回答整理自钉群“【答疑群】函数计算 AIGC 场景技术交流”

    2023-11-15 21:54:09
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载