旧验收项目自动补齐Cookie资源

This commit is contained in:
2026-09-02 11:49:55 +08:00
parent 718f681bb3
commit fc51e2a7c9
2 changed files with 62 additions and 0 deletions

View File

@@ -1640,6 +1640,40 @@ def _task_dict(conn, task) -> dict[str, Any]:
FROM acceptance_task_resources WHERE task_id=? ORDER BY resource_order""",
(task["id"],),
).fetchall()
has_custom_cookie = conn.execute(
"""SELECT 1 FROM acceptance_task_secrets
WHERE task_id=? AND secret_type='custom_cookie' LIMIT 1""",
(task["id"],),
).fetchone()
if (not task_resources and not has_custom_cookie
and task["scheduled_from_task_id"] is None
and task["acceptance_method"] in {"data-analysis", "combined"}):
try:
current_resources = get_wen_resources()
credential_ids = list(dict.fromkeys(
str(item).strip() for item in current_resources.get("credential_ids", [])
if str(item).strip()
))
conn.executemany(
"""INSERT OR IGNORE INTO acceptance_task_resources
(task_id,resource_type,resource_id,resource_order,created_at)
VALUES (?,'cookie',?,?,?)""",
[(task["id"], credential_id, index, now_iso())
for index, credential_id in enumerate(credential_ids)],
)
if credential_ids:
conn.execute(
"UPDATE acceptance_tasks SET cookie_count=?,updated_at=? WHERE id=?",
(len(credential_ids), now_iso(), task["id"]),
)
task_resources = conn.execute(
"""SELECT resource_type,resource_id,resource_order
FROM acceptance_task_resources WHERE task_id=? ORDER BY resource_order""",
(task["id"],),
).fetchall()
except Exception:
# 详情读取不能因为 Cookie 池短暂不可用而整体失败。
pass
cookie_attempts = conn.execute(
"""SELECT credential_id,keyword,status,attempt_number,error_message,
started_at,completed_at