Repository navigation
fix(media): 追剧不认领刷流的种子、被删的种子马上重新找,缺集信息的刮削自动补 - #895
Merged
Merged
Conversation
追剧: - 下载器里刷流任务下的种子不再认领成某一集的来源(刷流按自己的规则随时会删掉它们)。 - 下载中的订阅种子从下载器里没了(被刷流、手动或别的工具删掉):连着 10 分钟看不到就标成失败, 这几集马上重新算缺的、马上搜一次,运行记录里记一条;以前要等 7 天。下载器读不到、列出来是空的时不判。 - 推送一个有几集的种子时设成不下载的集记下来;这些集之后又缺了,搜到同一个种子时再下一次: 下载器里还有就把这几集的文件改回下载(按这一次的策略与优惠记账,种子记录改回没下完), 没有了就重新加进去、只下缺的集。以前这样的种子一律跳过,版本锁又只要这个版本,这一集一直等。 - 再下的种子在下载器里下完了、10 分钟还没有新的整理记录时,订阅让整理入库整理一次(一小时最多一次)。 - 新加进下载器的种子把记录里的完成状态清掉:以前下完、删掉以后再推的种子也会发下载完成事件。 刮削: - 一集的 NFO 写成了、来源里却没有集标题或集简介(刚播出的集常常这样),也记成部分刮削并写明缺什么。 - 部分刮削与刮削失败的记录在整理以后的第 1、3、7、14 天各自动补刮一次,不看「每周补一次缺的刮削」开关。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
生产上《伟大的长征》第 44 集一直没下、第 21–55 集里 27 集没有集截图与简介:
刷流几小时后删了季包,订阅 7 天后才发现;之后搜索一律跳过已经下载过的 LongWeb 种子,版本锁又只要 LongWeb,第 44 集一直等。
缺集标题、集简介也不算部分刮削。
改动
追剧(
internal/media/subscribe):adopt跳过torrent_infos.download_source = brush的种子。dropVanished:下载中的订阅种子在下载器里连着 10 分钟看不到(记录也改过 10 分钟以上)就标成失败,订阅马上搜一次、记运行记录;下载器列不出来或列出来是空的不判。
skipped_episodes(升级前的按种子名的集减去covered_episodes算)。这些集重新缺了时evaluate不再跳过这个已入库的种子:下载器里还有的,AdoptExisting按这一次的策略与优惠记账,把这几集的文件改回下载,种子记录改回没下完;没有了就重新加进去、只下缺的集。
repushed_at以前的整理记录不算这一次入库。推送(
internal/push.go):新加进下载器的种子清掉记录里的完成状态(以前下完、删掉以后再推的种子也会发完成事件);补记账的不清。刮削(
internal/media/scrape、internal/media/organize):scrapeRetry:部分刮削与刮削失败的记录在整理后第 1、3、7、14 天各补刮一次(一部排一次,只补没有的文件,换 pt-tools 写的 NFO),不看每周补刮的开关;每个库一次最多 50 个条目。
数据库:
media_subscription_torrents加skipped_episodes、repushed_at两列(AutoMigrate,不用编号迁移)。文档:追剧与订阅、整理入库、1.0 新功能(中英)。
验证
CGO_ENABLED=1 go test -race -count=1 ./...全部通过(87 个包)。internal/media/subscribe(TestVanished*、TestAdoptSkipsBrushTorrents、TestRepush*、TestSkippedOf、TestRepushable)、internal/media/organize(TestScrapeRetry*,含真实刮削的补刮)、internal/media/scrape(TestEpisodeLacks)、internal(TestPushTorrent_FreshAddClearsCompletion、TestPushTorrent_AdoptExistingKeepsCompletion)。make fmt-check、make lint-go、make docs-check、make build通过。删掉别处的第 3 集 10 分钟后认领的种子标成失败、马上重新找;再推第 3–4 集,第 3 集的文件改回下载、下完整理入库;
缺集简介与截图的一集记成部分刮削,整理满一天的记录在重启后的第一拍自动补刮;日志里没有 ERROR 与 panic。