From 1c1acbbe7d1d6cfcaa19071780ae05d7fc1146c9 Mon Sep 17 00:00:00 2001 From: super <2903208875@qq.com> Date: Mon, 30 Mar 2026 21:06:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=81=E7=89=8C=E5=A4=9A=E6=96=87=E4=BB=B6ch?= =?UTF-8?q?unk=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/brand.cpython-312.pyc | Bin 35616 -> 35787 bytes app/blueprints/brand.py | 12 +++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/blueprints/__pycache__/brand.cpython-312.pyc b/app/blueprints/__pycache__/brand.cpython-312.pyc index b306d2e21d72f5b2b40f6391a1dcd7847e47c47c..777482c8735e419714aa6c6405fee02b2e39f024 100644 GIT binary patch delta 2552 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 diff --git a/app/blueprints/brand.py b/app/blueprints/brand.py index bc15ad1..0fb67d2 100644 --- a/app/blueprints/brand.py +++ b/app/blueprints/brand.py @@ -242,9 +242,11 @@ def _background_brand_task(task_id,data): fileUrl = file_data.get("fileUrl") if not brand_ls: continue - for i in range(0, len(brand_ls), 5): - chunk = brand_ls[i:i + 5] - tasks.append((chunk, fileUrl)) + file_chunks = [brand_ls[i:i + 5] for i in range(0, len(brand_ls), 5)] + chunk_total = len(file_chunks) + total_lines = len(brand_ls) + for chunk_index, chunk in enumerate(file_chunks, start=1): + tasks.append((chunk, fileUrl, total_lines, chunk_total, chunk_index)) if tasks: max_workers = min(8, len(tasks)) @@ -253,8 +255,8 @@ def _background_brand_task(task_id,data): _push_task_event(task_id, {'status': 'cancelled'}) return futures = [ - executor.submit(_run_brand_single, task_id, chunk, file_url, strategy,len(brand_ls),len(tasks),chunkIndex+1) - for chunkIndex,(chunk, file_url) in enumerate(tasks) + executor.submit(_run_brand_single, task_id, chunk, file_url, strategy, total_lines, chunk_total, chunk_index) + for chunk, file_url, total_lines, chunk_total, chunk_index in tasks ] for future in as_completed(futures): if _is_task_cancelled(task_id):