网易首页 > 网易号 > 正文 申请入驻

一次误判跑出60条重复投稿,他写了80行代码堵住漏洞

0
分享至

去年三月的一个晚上,他把同一套批量任务跑了两遍。不是有意为之——第一遍看起来卡住了,他手动终止,修掉自以为的bug,又重新跑了一次。实际上它并没有卡住。结果是60条重复投稿同时躺在三个平台的审核队列里,而在其中一家平台上,重复批次恰好是那种会让审核员把你的整个账号翻出来仔细看的操作。

当晚他写下了 upload_tracker.py,此后每一批任务都带着它跑。这段经历里真正值得说的,是重复投稿为什么会发生,以及什么办法才真的拦得住它。

平台不会替你兜底

三大图库平台在投稿环节都没有做那种能帮到你的去重。Adobe Stock 要求CSV表头是五列(Filename、Title、Keywords、Category、Releases),表头写错会立刻被拒,但同一个JPG用同一个文件名传两次,它照样收下。Vecteezy 用四列表头,行为一致。Dreamstime 要十五列,对元数据格式最严格,可对CSV格式的严格并不等于会去比对你的投稿历史。

去重的担子完全落在投稿人自己身上。这一点让他意外——他本以为至少会有个哈希校验,或者一句警告。没有。同一个文件传两遍,它就进去了,进入审核,占掉一个本该留给真实作品的审核名额。

账本比记性可靠

解法简单到有点难为情:一个纯文本文件,每个素材一行,只在该素材真正上传完成之后才追加。工具只有三条命令:

  • pending:列出还没做完的素材
  • done:把某个素材标记为已完成
  • status:查看当前状态

关键设计在于 done 是一个独立的手动步骤。批量脚本不会在把任务排进队列时自动标记完成,因为排队不等于上传。这一点他也踩过坑:早期版本在生成CSV时就把素材标成完成,结果上传中途崩溃,账本就开始对他撒谎。现在账本只记录人工确认过的上传。

因为是只追加的纯文本,他可以用 grep 读它,在两台机器之间 diff 它,从任何备份里恢复它。没有数据库,没有依赖。upload_tracker.py 和 make_metadata.py 都只跑在Python标准库上,连虚拟环境都不需要。

同一本账,在花钱之前先查CSV

问题的另一半是:重跑会重新生成看起来和新的一模一样的元数据文件。所以在 make_metadata.py 为 Adobe(5列)、Vecteezy(4列)或 Dreamstime(15列)写入一行之前,拿文件名去账本里对一下是件顺手的事。已经标记完成的文件名会被跳过,而不是被悄悄重写。正是这一道检查,让第二次重跑那种灾难没法再发生。

表头规则在这里同样要紧。三个平台都会在上传时立刻拒掉错误的CSV表头。脚本只写每个平台要求的那一行表头,别的不写——他实在不想再经历一次40个文件上传失败之后才发现表头有问题。

小机器上的批量卫生

他整条流水线跑在1个vCPU、2GB内存、没有GPU的机器上,所以账本本身也必须便宜。它确实便宜:往文本文件里追加一行,成本为零。让这台机器上其余批量任务保持安全的习惯,在这里同样适用:

  • 一次只跑一个进程,绝不在单核上并行铺开图片任务
  • 每个素材处理完后调用 gc.collect() 释放内存
  • 用 resource.getrusage(RUSAGE_SELF).ru_maxrss 测峰值内存,而不是看平均值,因为平均值会掩盖那个杀死进程的尖峰
  • 重渲染步骤每个子进程只处理一个文件,让内存真正还给操作系统

批量任务崩溃,本来就是大多数重复投稿的源头,所以稳定性和去重其实是同一个问题。只要这一轮跑得下来,你就不需要重跑。

实际跑起来是什么样

账本上线之后,他用这条流水线跑完了39个成品、约856 MB输出,横跨三个平台,重复投稿为零。整个父项目大约19000行流水线代码,账本大概只占80行。他说,如果着火,这80行是他第一个要抢出来的。

现在的工作流是:生成素材,用 make_metadata.py 构建各平台的CSV,每次上传前查一遍 pending,每次确认上传后标记 done,会话结束时跑一次 status 核对数量。三十秒的记账,换掉一个下午删重复文件,外加一场他并不想要的账号审查。

想搭同样的东西,四个脚本——元数据构建器、上传账本、Markdown转PDF、以及一个能渲染1280x720封面和600x600缩略图的产品打包器——被打包成 Pipeline Starter Kit。账本和元数据构建器只需要 Python 3.9+。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
欧冠三连胜!随着皇马4-1轻取莱比锡,一战诞生3大不争的事实!

欧冠三连胜!随着皇马4-1轻取莱比锡,一战诞生3大不争的事实!

田先生篮球
2026-10-22 06:03:27
都错怪高市早苗了?石破茂直言,这个女人不仅坏,还特别的蠢

都错怪高市早苗了?石破茂直言,这个女人不仅坏,还特别的蠢

云上乌托邦
2026-10-22 17:05:35
卡拉格:B费的发言简直是耻辱,没有卡里克他拿不了赛季最佳

卡拉格:B费的发言简直是耻辱,没有卡里克他拿不了赛季最佳

懂球帝
2026-10-22 06:51:11
德国盾构机想要出口给印度?中国:不行!印度:凭什么听你的?

德国盾构机想要出口给印度?中国:不行!印度:凭什么听你的?

步论天下事
2026-10-21 16:23:11
“大陆警察,有本事来抓我啊!”台独分子,沈伯洋狂妄叫嚣

“大陆警察,有本事来抓我啊!”台独分子,沈伯洋狂妄叫嚣

果妈聊娱乐
2026-10-16 14:39:08
朱可夫晚年吐露:1951年苏联援华军火数量大得惊人,多年后他才说出那批物资背后不为人知的内情?

朱可夫晚年吐露:1951年苏联援华军火数量大得惊人,多年后他才说出那批物资背后不为人知的内情?

回京历史梦
2026-09-25 18:25:33
案例:湖南女护士被执行死刑,行刑时回头质问武警,让他当场崩溃

案例:湖南女护士被执行死刑,行刑时回头质问武警,让他当场崩溃

星宇共鸣
2025-09-17 17:58:03
法国总统马克龙:坚决杜绝骚乱重演,未发现有境外势力干预,某些领导人为了竞选不惜牺牲法国散布不实信息

法国总统马克龙:坚决杜绝骚乱重演,未发现有境外势力干预,某些领导人为了竞选不惜牺牲法国散布不实信息

每日经济新闻
2026-10-22 12:42:57
性专家说:当一个异性开口跟你要钱,要礼物,不管对方是不是想试探你的真心,你都应该明白,你已被对方列入供养者行列

性专家说:当一个异性开口跟你要钱,要礼物,不管对方是不是想试探你的真心,你都应该明白,你已被对方列入供养者行列

心理观察局
2026-08-05 06:46:04
崔永熙:前三节专注防守,末节球队遇到困难觉得需要我站出来了

崔永熙:前三节专注防守,末节球队遇到困难觉得需要我站出来了

狼叔评论
2026-10-22 23:04:08
太强了!蒯曼直落三局,3-0横扫早田希娜,帮助中国队大比分反超

太强了!蒯曼直落三局,3-0横扫早田希娜,帮助中国队大比分反超

杨哥乒乓
2026-10-22 20:51:25
左权牺牲后,抗命返回救人的警卫连长被判枪决,被彭总当场否定

左权牺牲后,抗命返回救人的警卫连长被判枪决,被彭总当场否定

凡人侃史
2026-10-22 14:06:22
贾玲又胖起来了,本人回应:实在维持不住网友:我们的玲儿回来了

贾玲又胖起来了,本人回应:实在维持不住网友:我们的玲儿回来了

做一个合格的吃瓜群众
2026-09-03 15:17:13
网传“退休金比打工人工资还高”,评论区炸锅了

网传“退休金比打工人工资还高”,评论区炸锅了

墨言执笔
2026-10-13 05:47:41
诺里战术水平吊打斯普利特,他完美解决利拉德+莫兰特不兼容问题

诺里战术水平吊打斯普利特,他完美解决利拉德+莫兰特不兼容问题

爱体育
2026-10-22 23:10:36
好莱坞顶流女星秘密做完变性手术!因绝美神颜走红不想再有男儿身,术后痛得无法走路?

好莱坞顶流女星秘密做完变性手术!因绝美神颜走红不想再有男儿身,术后痛得无法走路?

英国报姐
2026-10-21 23:10:44
震惊!“我在小红书这类国内平台放不开,但到ins上发布性感照片,近乎全裸也不觉得害羞”,一女孩发帖引发争议

震惊!“我在小红书这类国内平台放不开,但到ins上发布性感照片,近乎全裸也不觉得害羞”,一女孩发帖引发争议

火山詩话
2026-10-22 08:36:57
美国没想到,拉着日本搞了一出演习大戏,反倒帮了中国一个大忙

美国没想到,拉着日本搞了一出演习大戏,反倒帮了中国一个大忙

进博老师
2026-10-22 09:55:18
10 月 22 日提醒所有退休人员十月份养老金到账,一定要核对三样内容

10 月 22 日提醒所有退休人员十月份养老金到账,一定要核对三样内容

老孙说
2026-10-22 09:39:13
醒悟太晚!穆里尼奥看透皇马隐藏核心!之前弃用是巨大失误

醒悟太晚!穆里尼奥看透皇马隐藏核心!之前弃用是巨大失误

澜归序
2026-10-22 08:34:19
2026-10-22 23:35:00
固件更新中
固件更新中
有态度网友ytd
286文章数 83关注度
往期回顾 全部

科技要闻

腾讯云谷歌紧急行动!互联网安全出大事

头条要闻

孙颖莎王曼昱缺阵 国乒女团2-3不敌日本无缘女团金牌

头条要闻

孙颖莎王曼昱缺阵 国乒女团2-3不敌日本无缘女团金牌

体育要闻

卢卡:伦德伯格,欢迎来到NBA

娱乐要闻

芭莎盛典,张小斐因救场实现口碑暴涨

财经要闻

宁德,跌成了一只红利股?

汽车要闻

搭城市NOA/续航555KM 捷达M6上市售7.98万起

态度原创

时尚
房产
手机
数码
本地

小高领,再过两天穿刚好

房产要闻

租金大跳水!荒了6年,海口这个地标商业,开始急了!

手机要闻

苹果纽约第五大道门店现巨型iPhone Duo装置 为新品上市造势

数码要闻

AMD为下一代Medusa APU提前铺路,HIP-RT 3.2.0新增三款GPU目标

本地新闻

一场垂直登高赛跑出了"山城"的真正内核

无障碍浏览 进入关怀版