bruhfei.24.04.05

在11451.4秒后,我终于在第三台机子上面勉强跑起来了sexart脚本的2023版(悲🤔其实从某种程度上来说2023版某些地方甚至比2022版要简单很多,比如不用专门整一个一个一个文件放置已经处理完成的部分,无论本机运行还是github actions运行都能随便继承进度(确信🤔

问题是和kg114514相比,sexart由于我就是要拿它的完整url做主键,最后的替换环节变得完全没法替换,毕竟url里面充满各种东西(恼🤔甚至我以前的经验都没法用,以前我只是转义一个一个一个斜杠就能塞进sed里替换,但现在这招用了之后只能保证不报错,替换可是一点都没有替换(悲🤔

所以我去某知名英文问答网站抄了次作业,貌似sed完全不支持grep那样的固定字符串匹配和替换,所以需要将源字符串和目标字符串先用某段申必sed魔法处理一遍,再给它塞进去🤔折腾了一顿后我终于能在sexart全量列表里完成了替换过程,替换后没有一行是状态为0的(确信🤔

而且其实现在这套玩意塞github actions里也是可以跑的,毕竟我到时候只需要将maindb进行合并就vans力,方法也很简单,对主机上面的maindb逐行提取主键,然后拿着这个主键在各个备用机(包括某台arm vps和github actions)返回的maindb里面搜对应词条,如果有状态为1的合并入主词条,如果没有的话就什么都不做🤔至少在我搞清楚cloudflare那个逆天sql怎么用之前,这办法应该可以用(确信🤔

接下来我需要解决另外一个问题:如何将那两台正在跑sexart的机器上面的2022版数据迁移到2023版?🤔这个可能不太好解决,我需要哼哼thonk一番🤔

another 11451.4 secs later,,,

在我观摩了114514遍代码后,我发现2023版断点续传脚本获取上传完成后的guilded drive链接信息居然是靠直接读取results.txt的最后一行🤔好家伙,那么我重建2023版的maindb基本上只需要遍历一遍results.txt就vans力,不需要关心2022版的两个列表文件分别有哪些内容🤔好,将它们合并且去重后,直接用id查找results.txt里面有没有项,有的话输出状态为1的行(方法直接照抄2023版断点续传脚本的相关语句),没有的话输出状态为0的行🤔

就这样那两台机子结束当前跑的脚本后不到一分钟就切换到了新脚本上继续跑,而既然我已经有了两个maindb文件,以后有可能会有多个,是时候研究下如何合并它们🤔最后我想到一个一个一个主意,用列举视频的脚本再重新生成一个maindb文件,此时这里全都是状态为0的视频🤔当前文件夹下其他的maindb文件里面可能有状态码为1的视频可能没有,但如果我分配任务分配得比较合理的话,理论上来说对于某一个视频来说,所有txt文件加起来应该最多只有一个状态为1的项(确信🤔

那么我就可以拿这个全新的maindb开始遍历,对里面的每一行里面的视频url,拿去在所有txt文件的cat结果里面grep一次,并筛选出状态码为1的行,如果筛选出来并且结果只有一条,替换maindb里对应的行🤔其实这玩意的思路和上面拿2022版数据构建maindb基本上一毛一样(确信🤔

或者我也可以用各种方法将这个maindb文件排除出cat *.txt(比如将那些里面有guilded drive链接的txt文件塞某个临时文件夹里,cat它),或者在遍历它的时候只遍历状态码为0的行,这样说不定它还可以用来合并非空的maindb,比如我那几个站的(确信🤔同理,它也可以用来提取出maindb里尚未处理的视频,以某种方式分配成若干个小的maindb,然后开始多线程处理,处理完后再合并(确信🤔总之,离未来可能搞的多线程雷普又进了一步(确信🤔

cloudflare antics

既然maindb准备好力,那么和那几个kg系的站一样,它也可以上cloudflare(确信🤔而且由于我将整个网址后面的链接作为主键,它甚至比kg系站还要简单,基本上只需要将sexart.com这个域名替换成我的域名,就可以直接塞进guilded drive下载函数里用(确信🤔

除此之外我还对这一系列cloudflare worker做了亿点点小优化,比如它获取链接失败时不会再报一系列让guilded drive下载脚本非常尴尬的池沼错误信息,而是会返回某著名大脑升级曲的guilded drive链接🤔这应该是我今天做的最生草的事情,当然如果我能想办法下下来这玩意的野兽先辈版本,还能更生草(确信🤔

发表评论