FC 搭建的Comfyui,通过comfyui的/history 接口来获取生成状态,这个请求是在服务器上完成的,但这种方式出现一种问题,当同时出现多个实例时,生图时请求的实例和查询实例不是同一个时,无法获取到生成状态,函数计算FC这种情况有解决方案吗?
一种可能的解决方案是引入请求标识(request ID)机制,确保每个生成请求都有一个唯一的标识符,并在/history接口中利用这个标识符来过滤和查询对应的生成状态。这样,即使在高并发环境下,也能通过请求ID精确地追踪每个任务的状态。
实施步骤简述如下:
生成请求时附带唯一ID:在发送生成任务请求时,客户端或前端应当生成一个唯一的请求ID,并将其作为参数一并发送给服务器。
服务器端记录关联:服务器在接收生成请求时,除了正常的处理流程外,还应将此请求ID与生成任务的实例或会话相关联,并在执行历史中记录下来。
查询接口接受ID过滤:修改/history接口,使其能够接受请求ID作为查询参数,然后根据这个ID返回对应的生成状态。
前端展示逻辑调整:前端在发起查询状态请求时,应携带之前生成请求时保存的请求ID,根据返回的结果更新界面状态。
通过上述方式,可以有效地解决多实例并发时的状态跟踪问题。需要注意的是,这种方案要求对现有的ComfyUI后端和前端查询逻辑进行一定程度的改造和协调。
由于知识库中没有直接关于此特定问题的解决方案记录,上述建议基于一般性的系统设计原则。如果您的应用环境允许代码定制,这可能是解决您面临问题的一个可行方向。如果需要更深入的技术指导或代码示例,建议查阅ComfyUI的官方文档或在开源社区寻求帮助。此回答整理自钉群“【答疑群】函数计算 AIGC 场景技术交流”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。