ComfyUI 新手避坑:第三方节点过时导致队列报错?这样排查最省心
自己折腾 ComfyUI 时踩了个典型的新手坑 —— 全程没改任何原生代码、没做过自定义队列操作,只是正常使用,结果突然弹出TypeError: QM_Queue.task_done() 队列报错,程序直接卡停,图片生成、工作流运行全受影响。排查后发现根本不是软件本身的问题,核心原因就是装了过时的第三方节点(我遇到的是 ComfyUI-PC-ding-dong),这类节点篡改了 ComfyUI 底层的队列调用逻辑,才触发了报错。
今天就把这套零代码、超省心的通用排查解决方法整理出来,专门针对「纯节点导致的队列报错」场景,步骤简单易上手,实测有效,新手小伙伴看完就能直接抄作业,不用再绕远路排查!
一、先明确:为啥没改代码也会触发这个报错?
很多新手会和我一样疑惑,自己没碰过 ComfyUI 的原生文件,也没自定义过任何队列任务,怎么会出现底层方法报错?核心原因就一个:
安装的某款第三方节点(尤其是小众 / 长时间未更新的) 已经过时,适配不上新版 ComfyUI 的底层逻辑。这类节点会私自篡改 ComfyUI 原生的 QM_Queue 队列类,比如给无参的 task_done () 方法违规传参、破坏队列「先放任务再标记完成」的计数规则,哪怕只是正常点击运行工作流,也会触发 TypeError 报错,和自身操作无关,纯节点兼容性问题。
除了我遇到的 ComfyUI-PC-ding-dong,其他长时间未更新的队列、工具类小众节点,也大概率会引发这个问题。
二、核心解决步骤:零代码,3 步排查搞定(通用所有过时节点)
整个过程不用写一行代码,只做简单的文件操作,新手也能轻松搞定,按步骤来就行,适配 Windows/Linux/macOS 所有系统。
步骤 1:关闭 ComfyUI,定位第三方节点文件夹
先彻底关闭 ComfyUI 程序(包括后台进程,避免文件被占用导致操作失败);
打开你的 ComfyUI 安装目录,找到custom_nodes 文件夹—— 划重点:所有手动安装的第三方节点,全存在这个文件夹里,本次报错的根源也在这里。
步骤 2:定位并禁用 / 删除过时节点
这是最关键的一步,分「知道报错节点名」和「不知道节点名」两种情况,按需操作即可:
情况 1:明确知道是哪个节点导致的(比如 ComfyUI-PC-ding-dong)
直接在 custom_nodes 文件夹里找到该节点的文件夹,要么直接删除,要么重命名(加_disabled 后缀,比如 ComfyUI-PC-ding-dong_disabled),简单禁用就好;
情况 2:不清楚具体是哪个节点
新手按这两个标准快速筛选,效率最高:
① 看修改 / 更新时间:右键查看 custom_nodes 内各文件夹的时间,优先禁用 / 删除超过 6 个月未更新的小众节点;
② 看启动日志:重新打开 ComfyUI,在启动窗口 / 日志里找包含「deprecated(过时)」「QM_Queue」「task_done ()」的关键词,后面跟着的就是报错节点名,定位后直接禁用。
步骤 3:清空缓存,重启验证(必做,避免残留问题)
回到 ComfyUI 根目录,找到cache 文件夹,直接删除(缓存残留可能导致节点禁用后仍触发报错,删了不影响正常使用);
重新启动 ComfyUI,随便提交一个简单任务(比如默认文生图、图生图),如果能正常运行,没有弹出 QM_Queue 相关报错,就说明问题彻底解决了!
三、兜底方案:若禁用节点仍报错,恢复原生队列文件
极少数情况下,过时节点可能篡改了 ComfyUI 的原生队列文件,导致禁用节点后仍报错,这时候按以下步骤恢复原生文件即可,依旧零代码,新手放心操作:
关闭 ComfyUI,在安装目录找到comfy 文件夹,进入后删除里面的queue.py文件;
从 ComfyUI 官方 GitHub 仓库下载最新的原生** queue.py** 文件:https://github.com/comfyanonymous/ComfyUI/blob/master/comfy/queue.py;
将下载的 queue.py 文件放回 comfy 文件夹,重新启动 ComfyUI,报错就会直接消失。
四、新手必看:3 个 ComfyUI 节点安装避坑技巧,从根源避免报错
解决问题不如避免问题,结合这次的踩坑经验,总结 3 个超实用的节点安装技巧,帮新手小伙伴从根源避开「过时节点导致底层报错」的坑,折腾 ComfyUI 更省心:
装节点先看「更新时间 + 人气」
优先选 GitHub 仓库最后更新时间在 3 个月内、星标 / 下载量高的节点,超过 6 个月未更新的小众节点直接放弃,适配性大概率拉胯,极易引发底层冲突;
新节点装完先测试,不盲目批量安装
装完一款新节点后,先重启 ComfyUI,跑一个简单的基础工作流测试,确认无报错再继续装其他节点,避免批量装完后找不着报错根源;
遇到底层报错,先查节点再谈其他
只要出现 QM_Queue、task_done () 这类 ComfyUI 底层方法的报错,且自己没修改过原生文件,第一时间排查 custom_nodes 里的过时节点,这是最高效的排查思路,不用绕远路找其他原因。
五、写在最后
其实 ComfyUI 的很多底层报错,对新手来说看似复杂,实则根源都很简单,尤其是这种非自定义操作导致的报错,大概率都是第三方节点的兼容性问题,根本不用慌,也不用去网上找各种复杂的代码修改方案,按本文的步骤排查节点,基本都能解决。
这次踩坑的节点是 ComfyUI-PC-ding-dong,相信还有不少同类的老旧小众节点会引发同款报错,大家按这套通用步骤排查即可。如果排查过程中遇到其他问题,也欢迎在评论区留言交流,一起踩坑一起解决~
浙公网安备 33010602011771号