旧验收项目自动补齐Cookie资源
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user