From fa9f604af944bfcb0ca0dc9f05b215a7265bf55c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Sat, 24 Jan 2026 01:17:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=9B=86=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 因过早清理作业导致 --- app/chain/transfer.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/chain/transfer.py b/app/chain/transfer.py index 30701768..e91bbe7b 100755 --- a/app/chain/transfer.py +++ b/app/chain/transfer.py @@ -660,9 +660,6 @@ class TransferChain(ChainBase, ConfigReloadMixin, metaclass=Singleton): # 删除剩余空目录 StorageChain().delete_media_file(t.fileitem, delete_self=False) - # 清理作业 - self.jobview.remove_job(task) - return ret_status, ret_message def put_to_queue(self, task: TransferTask): From 153201406750bc832dc7c96540e3c5698c876aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Sat, 24 Jan 2026 01:41:48 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=A4=9A=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=99=A8=E8=BF=94=E5=9B=9E=E7=9B=B8=E5=90=8C=E7=A7=8D?= =?UTF-8?q?=E5=AD=90=E9=80=A0=E6=88=90=E7=9A=84=E9=87=8D=E5=A4=8D=E6=95=B4?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chain/transfer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/chain/transfer.py b/app/chain/transfer.py index e91bbe7b..b8de5a8d 100755 --- a/app/chain/transfer.py +++ b/app/chain/transfer.py @@ -968,11 +968,14 @@ class TransferChain(ChainBase, ConfigReloadMixin, metaclass=Singleton): # 从下载器获取种子列表 if torrents_list := self.list_torrents(status=TorrentStatus.TRANSFER): + seen = set() existing_hashes = self.jobview.get_all_torrent_hashes() torrents = [ torrent for torrent in torrents_list - if torrent.hash not in existing_hashes + if (h := torrent.hash) not in existing_hashes + # 排除多下载器返回的重复种子 + and (h not in seen and (seen.add(h) or True)) ] else: torrents = []