Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 339

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 392

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 394
Joyber 的博客

2026-06-22T03:51:05.png

RabbitMQ 新增交换机(Add a new exchange)红框区域完整详解

红框是手动创建自定义Exchange交换机的表单,下面逐行拆解每个配置项含义、作用、业务场景:

1. Name(交换机名称,必填*)

  • 作用:自定义交换机唯一标识,生产者发消息时指定该名称路由消息。
  • 规范:不能包含空格、特殊控制字符,区分大小写;同一个虚拟主机(Virtual host /)下名称不能重复。
  • 示例:order_exchangepay_topic_ex

2. Type(交换机类型,下拉选择)

决定消息路由分发规则,4种核心类型:

  1. direct(默认选中)
    精准匹配:消息routing-key和队列绑定的binding-key完全相等才投递。
    适用:一对一精准推送,如订单状态通知、单点任务分发。
  2. fanout
    广播模式:忽略routing-key,所有绑定该交换机的队列全部收到消息。
    适用:全站公告、日志广播、多服务同步缓存。
  3. topic
    模糊通配匹配:支持 *(匹配一个单词)、#(匹配零/多个单词)。
    适用:日志分类、多维度事件(user.create/user.delete)。
  4. headers
    不依赖routing-key,靠消息header键值对匹配路由。
    适用:复杂多条件筛选场景,极少使用。

3. Durability(持久化)

两个选项:

  • Durable(持久,默认):交换机元数据存入磁盘,RabbitMQ重启后交换机不会丢失;生产环境必选。
  • Transient(临时):仅存内存,服务重启/崩溃后交换机直接销毁,测试临时场景使用。
注意:仅持久交换机不代表消息持久,消息持久需要队列+消息投递模式同时设置。

4. Auto delete(自动删除)

选项:Yes / No(默认No)

  • No:永久保留,手动删除才会销毁。
  • Yes:当最后一个绑定该交换机的队列解绑/删除时,RabbitMQ自动删除此交换机。
    适用:临时临时任务、一次性临时通道。

5. Internal(内部交换机)

选项:Yes / No(默认No)

  • No:普通交换机,生产者可以直接发送消息到这个交换机。
  • Yes:内部交换机,客户端无法直接发消息,只能由其他交换机通过alternate exchange备用交换机转发进来;多用于交换机嵌套路由、死信二次中转,业务极少用。

6. Arguments(自定义参数,键值对)

扩展配置,用于高级特性,输入框格式:键 = 值,右侧选择值类型(String/Number/Bool),点Add增加多组参数。

常用参数:

  1. Alternate exchange(备用交换机,页面单独快捷按钮)
    补充说明:下方Alternate exchange按钮是快捷添加参数alternate-exchange,填入另一个交换机名称。
    逻辑:当前交换机无法匹配到任何队列时,消息转发到备用交换机,避免消息丢失。
  2. x-delayed-type:延迟交换机插件参数,实现延时消息。
  3. x-message-ttl:交换机层面统一设置消息过期时间。

底部按钮 Add exchange

填写完所有配置后点击,完成交换机创建,上方列表会刷新出你新建的Exchange。

补充业务建议

  1. 线上业务通用配置参考:
    Name:自定义业务名
    Type:根据分发需求选direct/topic/fanout
    Durability:Durable
    Auto delete:No
    Internal:No
  2. 内置系统交换机(页面上方列表里amq.*开头)是RabbitMQ自带,不要修改;业务必须自己新建自定义交换机。
  3. Alternate exchange备用交换机是防丢消息常用方案,订单、支付等核心链路建议配置。

Agnes-AI 接口与 ComfyUI 节点说明

1. 官方原生:无内置 ComfyUI 节点

Agnes-AI 平台官方没有自带 ComfyUI 原生节点,它只对外提供标准 OpenAI 兼容 REST API(https://apihub.agnes-ai.com/v1),仅提供接口调用能力,不内置可视化节点封装。

2. 第三方配套:存在专用 ComfyUI 自定义节点包

有第三方开发了 closerAI_Agnes 自定义节点包,专门对接 Agnes-AI 全套接口,可直接在 ComfyUI 拖拽使用:

包含5个核心节点(分类:CloserAI/AgnesAI)

  1. CloserAI Agnes Text:调用文本大模型,对话、提示词生成、文案
  2. CloserAI Agnes Image:文生图、图生图、多参考图生成
  3. CloserAI Agnes Video:文生视频、图生视频
  4. CloserAI Agnes VideoPlayer:预览生成视频
  5. CloserAI Agnes MultiImageInput:批量传入多张参考图

使用前提

  1. 前往 platform.agnes-ai.com 注册,获取 API Key
  2. 下载节点包放入 ComfyUI custom_nodes/closerAI_Agnes/
  3. 重启 ComfyUI,填入密钥即可调用免费接口

3. 替代方案(不装第三方节点)

不想用自定义节点包,也能通过通用方式对接 Agnes API:

  • 使用 ComfyUI 通用 OpenAI/API 请求节点,自行填写 BaseURL、Key、模型名调用
  • Python 脚本调用 Agnes API,再把生成图/视频传入 ComfyUI 本地节点处理

总结

  • Agnes-AI 官方不提供 ComfyUI 节点;
  • 第三方有成熟完整的自定义节点包,一键接入文本/图像/视频全接口;
  • 底层是标准 OpenAI 格式 API,也可通用接口节点手动对接。

Agnes AI 是个啥Agnes AI 是全球模型榜单前十的一个 AI Lab。这次免费开放的是三个核心模型:文本模型 Agnes-2.0-Flash,能写代码、做知识问答、跑 Agent、规划复杂任务,编程和企业知识库场景很能打。在 Claw-Eval 这个智能体评估榜单上, 这个模型进入了 Top 10。

如何接入首先去官方的 API 平台获取一下密钥,地址:platform.agnes-ai.com

HP 打印机"需要用户干预"修复指南

适用场景:电脑打印提示"打印机需要用户干预",但手机可以正常打印。

第一步:清除卡住的打印队列

  1. Win + R,输入 services.msc,回车
  2. 找到 Print Spooler,右键 → 停止
  3. 打开文件管理器,进入路径:

    C:\Windows\System32\spool\PRINTERS
  4. 删除该文件夹内的 所有文件(这些是卡住的打印任务,删除不影响打印机)
  5. 回到服务窗口,右键 Print Spooler启动

第二步:将 WSD 端口改为 TCP/IP 端口(关键步骤⚠️)

这是问题的根本原因。Windows 自动分配的 WSD 端口极不稳定,必须换成 TCP/IP 固定端口。

2.1 确认打印机 IP 地址

方法一:在打印机面板上按 信息键 (i),打印网络配置页,查看 IP 地址

方法二:在手机 HP Smart 应用中查看打印机 IP

方法三:在电脑浏览器地址栏输入路由器管理地址,查看已连接设备中打印机的 IP

2.2 创建 TCP/IP 端口

  1. Win + R,输入 control printers,回车
  2. 右键你的 HP 打印机 → 打印机属性
  3. 切换到 端口 选项卡
  4. 点击 添加端口…
  5. 选择 Standard TCP/IP Port → 点击 新端口…
  6. 向导点击"下一步"
  7. 打印机名或 IP 地址:输入打印机的 IP 地址(如 192.168.10.6

    • 端口名会自动生成为 IP_192.168.10.6,不用改
  8. 点击"下一步"→"完成"

2.3 切换到新端口

  1. 回到 端口 选项卡
  2. 在端口列表中,勾选 刚创建的 IP_192.168.10.6 端口
  3. 取消勾选 原来的 WSD 端口(名字很长一串,类似 WSD-7997d987-…
  4. 点击 应用确定

第三步:关闭双向支持

  1. 右键打印机 → 打印机属性
  2. 切换到 端口 选项卡
  3. 取消勾选 "启用双向支持"
  4. 点击 应用确定

第四步:重启打印服务

  1. Win + R,输入 services.msc,回车
  2. 右键 Print Spooler重新启动

验证

打印一份测试页:

  1. 右键打印机 → 打印机属性
  2. 点击 打印测试页

如果测试页正常打印,修复成功 ✅


注意事项

  • 绑定固定 IP:建议在路由器管理页面中,将打印机 IP 与其 MAC 地址绑定,避免重启路由后 IP 变化导致再次失联
  • 换路由器/重置网络后:如果打印机 IP 变了,需要重新执行第二步,更新端口指向新 IP
  • USB 连接的打印机:本指南适用于无线/网络连接;USB 连接请检查端口是否选的 USB001 等虚拟端口,同样注意关闭双向支持

如果以上仍无法解决

  1. 完全卸载打印机:设置 → 蓝牙和其他设备 → 打印机和扫描仪 → 删除设备
  2. 卸载 HP Smart 应用,重启电脑
  3. 从 HP 官网重新下载驱动:https://support.hp.com
  4. 安装驱动时选择"无线连接",按向导重新配置
  5. 配置完成后,再次按上述步骤检查端口是否为 WSD,如果是则重复第二步和第三步

只合并线上某一个提交到当前分支,用 git cherry-pick,不要用 merge。下面给你完整、可直接照抄的步骤。


一、流程(本地操作,最终推到线上)

1. 先拉最新代码、切到目标分支

# 拉取线上所有分支最新信息
git fetch origin

# 切换到你要“合入”的分支(比如 main / master)
git checkout main

2. 找到线上那个提交的 hash

查看目标分支(比如 feature/xxx)的提交:

git log --oneline origin/feature/xxx

输出类似:

a1b2c3d 修复核销bug   ← 你要的这一条
e4f5g6h 优化列表样式
...

复制你需要的那个 7位 hash(a1b2c3d)

3. 把这一个提交“摘”到当前分支

git cherry-pick a1b2c3d
  • 成功:自动生成一个新 commit(hash 和线上那个不一样,但代码改动完全一样)。
  • 有冲突:会停下来让你解决冲突。

4. 冲突怎么处理(常见)

# 1. 手动改完冲突文件后
git add .

# 2. 继续 cherry-pick
git cherry-pick --continue

如果搞砸了想放弃:

git cherry-pick --abort

5. 推到线上

git push origin main

二、常用进阶

一次 pick 多个不连续提交

git cherry-pick hash1 hash2 hash3

pick 一个连续区间(含首尾)

git cherry-pick startHash^..endHash

只把代码拿过来、不自动提交(便于自己改)

git cherry-pick -n a1b2c3d

一句话总结:fetch → 切目标分支 → log 找 hash → cherry-pick → push