Ai_GirlFriend/xuniYou/检查卡住的任务.sql
2026-03-02 18:57:11 +08:00

76 lines
2.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 检查卡住的任务running状态超过一定时间
-- 1. 查看所有running状态的任务
SELECT
id,
user_id,
lover_id,
task_type,
status,
created_at,
updated_at,
TIMESTAMPDIFF(MINUTE, updated_at, NOW()) as minutes_stuck,
JSON_EXTRACT(payload, '$.song_title') as song_title
FROM nf_generation_tasks
WHERE status = 'running'
ORDER BY created_at DESC;
-- 2. 查看任务385的详细信息
SELECT
id,
status,
error_msg,
attempts,
created_at,
updated_at,
TIMESTAMPDIFF(MINUTE, created_at, NOW()) as total_minutes,
TIMESTAMPDIFF(MINUTE, updated_at, NOW()) as stuck_minutes
FROM nf_generation_tasks
WHERE id = 385\G
-- 3. 查看任务385的payload
SELECT JSON_PRETTY(payload) as payload_detail
FROM nf_generation_tasks
WHERE id = 385\G
-- 4. 查看任务385的分段视频状态
SELECT
sv.id,
sv.segment_id,
sv.status,
sv.error_msg,
sv.dashscope_task_id,
sv.created_at,
sv.updated_at,
TIMESTAMPDIFF(MINUTE, sv.updated_at, NOW()) as stuck_minutes,
ss.segment_index
FROM nf_song_segment_video sv
LEFT JOIN nf_song_segment ss ON sv.segment_id = ss.id
WHERE sv.song_id = (SELECT JSON_EXTRACT(payload, '$.song_id') FROM nf_generation_tasks WHERE id = 385)
AND sv.image_hash = (SELECT JSON_EXTRACT(payload, '$.image_hash') FROM nf_generation_tasks WHERE id = 385)
ORDER BY ss.segment_index;
-- 5. 强制标记超时任务为失败超过30分钟的running任务
-- 注意:这是修复操作,执行前请确认
/*
UPDATE nf_generation_tasks
SET
status = 'failed',
error_msg = '任务超时超过30分钟未完成',
updated_at = NOW()
WHERE status = 'running'
AND TIMESTAMPDIFF(MINUTE, updated_at, NOW()) > 30;
*/
-- 6. 查看最近1小时内的所有任务状态
SELECT
id,
task_type,
status,
error_msg,
created_at,
TIMESTAMPDIFF(MINUTE, created_at, NOW()) as age_minutes
FROM nf_generation_tasks
WHERE created_at > DATE_SUB(NOW(), INTERVAL 1 HOUR)
ORDER BY id DESC;