在函数计算FC对于启动了多个负载的情况我要查询某个任务的进度(调用/sdapi/v1/progress接口)怎么处理?当到达实例并发度数量后,会新建一个SD实例,如果我调用/sdapi/v1/progress接口我会获得的应该是最后一个实例当前任务的进度吧?
这样就相当于我无法同时获得多个实例中的进度了,是这样的么?
是的,当您启动了多个负载时,如果到达实例并发度数量后会新建一个SD实例,那么调用/sdapi/v1/progress接口只会返回最后一个实例当前任务的进度。这是因为该接口只能查询到单个实例的进度信息,无法同时获得多个实例中的进度。
如果您需要查询所有实例的任务进度,可以考虑使用阿里云提供的日志服务(Log Service)来收集和分析函数计算FC中各个实例的日志信息。通过在每个实例中配置日志采集器,将日志发送到指定的日志库中,然后使用日志服务提供的查询功能,可以方便地查询和分析所有实例的日志信息,包括任务进度等。
在函数计算FC中,如果您启动了多个负载,并且每个负载都在执行不同的任务,则可以使用/sdapi/v1/progress接口查询各个任务的进度。当您调用该接口时,您需要提供与任务关联的任务ID作为参数。这样,您就可以获得指定任务的当前进度。
如果您的SD实例数量达到并发度限制并且需要创建新的实例来处理更多的任务,则每个新实例将执行一个单独的任务。因此,如果您要查询所有正在运行任务的进度,则需要为每个任务调用/sdapi/v1/progress接口并提供相应的任务ID作为参数。这可能会导致一些开销,但是这是唯一的方法来获取所有任务的进度信息。
需要注意的是,如果您有大量任务需要处理,则可能需要考虑优化您的工作流程以减少查询进度所需的时间和资源消耗。例如,您可以考虑使用批量操作或定期轮询进度等方法来减少查询频率和开销。
api 模式建议是一个实例只允许一个并发请求,如果您配置了的话,progress 就会打到新实例。此回答整理自钉群“【答疑群】函数计算 AIGC 场景技术交流”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。