从 0 到 1:在 8GB 内存的老机器上,我做了一条能自己发文章的流水线
手上这台机器只有 7.71 GB 可用内存,常年跑到 93%——而我要在上面跑一条"自己写、自己发"的流水线。这篇文章讲怎么做到的,重点不是"自动化多酷",而是每一步都能自证这件事怎么落地。## 一、成品长什么样资源闸门 → 发布 → 独立复核 → 登记 ↑ ↓ 等窗口(资源振荡时轮询)四个环节,每个环节一条判据(不是"我觉得成了"):| 环节 | 判据 | 明确不算数的东西 ||—|—|—|| 资源闸门 | 可用内存 ≥ 阈值、CPU ≤ 阈值、浏览器响应 ≤ 3 秒 | “进程还在” || 发布 |平台状态:页面离开草稿页 |点击日志显示"已点击"|| 复核 |接口回读:列表里出现这一篇 | 发布器自己报"成功" || 登记 |复核通过才写| 先记后验 |## 二、最反直觉的一段:要"等窗口",不要"检查一次就放弃"我一开始的写法是"资源不够就不做"。听起来很稳,实际结果是一整天零产出。因为这台机器的可用内存不是一直不够,而是在阈值上下振荡:15:20 0.56 GB ← 不够15:25 0.79 GB ← 差一点15:26 0.66 GB ← 又不够15:29 0.82 GB ← 够了,发出去15:34 0.83 GB ← 又发一篇"检查一次就放弃"等于把能做的时刻全错过了。改成每 20–30 秒探一次、最多等 5–15 分钟之后:第一次轮询就拿到窗口,20 分钟发出三篇。注意:判据一条没松。不是放宽标准,而是不在错误的时刻放弃。## 三、四个我踩过的坑(都是"判据错了",不是"代码错了")坑 1:把"点击成功"当"事成了"。我点过"确定并发布",日志显示点击成功,平台根本没受理,文章还在草稿箱。⇒ 判据必须是平台状态(页面是否离开草稿页)。坑 2:把"复核没执行"写成"没找到"。有一次发布流程关掉了读取页,复核根本没跑起来,我的脚本却打印成"列表里没找到"——“未测"被写成了"负”。⇒ 复核必须分三态:没跑成 / 跑了但没有 / 跑了且有。**坑 3:只读的确认排在了写入的闸门后面。顺序一错,资源一紧,连"确认一下它是不是已经发出去了"都做不了,文章悬了半天。⇒ 正确顺序:先读、再判闸门、再写。坑 4:多标签点三次,平台只留两个。我逐个输入 + 逐个点击,日志显示3 次全部点到;回读平台数据tag_ids⇒只有 2 个。⇒"我点了三次"和"平台收了三个"是两件事。## 四、最小骨架(可以直接照抄)1.一个发布器:能"打开编辑器 → 填内容 → 选分类/标签 → 提交",并且能回读平台状态;2.一个闸门:动手前量资源(内存/CPU/依赖响应),不够就不启动;3.一个队列:待办清单 + 轮询等窗口 +一次只做一件;4.一个复核:用平台接口独立回读,不看发布器自己的话;5.一个账本:复核通过才登记(否则会出现"记录里有、平台没有"的假账)。## 五、真实结果(不美化)- 一天里它自己发出6 篇(含手动一共 19 篇);-发布成功率 8/10 = 80%:两次失败形态完全相同(点了但没受理),退避重跑即成功⇒ 已做成就地重试;- 阅读量依然很低——那不是流水线的问题,是曝光的问题,我把它单独立了一个实验去查。## 六、一句话自动化最难的从来不是"把动作串起来",而是"每一步都能自证"。**把"我点了"换成"平台的状态变了",这条流水线才敢在没人的时候跑。