|
|
@@ -157,18 +157,9 @@ class ProcessBatchAnimeEpisodeGenerationCommand extends Command
|
|
|
if ($task->episode_number > 1) {
|
|
|
$prevEpisodeNumber = $task->episode_number - 1;
|
|
|
|
|
|
- // 检查前一集是否在批量任务中
|
|
|
- $prevTaskInBatch = DB::table('mp_batch_episode_generation_details')
|
|
|
- ->where('anime_id', $task->anime_id)
|
|
|
- ->where('episode_number', $prevEpisodeNumber)
|
|
|
- ->first();
|
|
|
-
|
|
|
- if ($prevTaskInBatch && $prevTaskInBatch->status !== 'completed') {
|
|
|
- dLog('command')->info('[' . date('Y-m-d H:i:s') . '] 前一集(第' . $prevEpisodeNumber . '集)尚未完成,跳过当前任务 (anime_id: ' . $task->anime_id . ')');
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- // 检查前一集是否已在系统中生成(查询 mp_anime_episodes)
|
|
|
+ // 优先判断前一集是否已在系统中生成(查询 mp_anime_episodes)。
|
|
|
+ // 用户手动创建的前一集也视为已存在,直接跳过批量任务状态判断,
|
|
|
+ // 避免批量任务前一集失败后卡住整个批量任务。
|
|
|
$prevEpisodeExists = DB::table('mp_anime_episodes')
|
|
|
->where('anime_id', $task->anime_id)
|
|
|
->where('episode_number', $prevEpisodeNumber)
|
|
|
@@ -176,6 +167,17 @@ class ProcessBatchAnimeEpisodeGenerationCommand extends Command
|
|
|
->exists();
|
|
|
|
|
|
if (!$prevEpisodeExists) {
|
|
|
+ // 系统中不存在前一集时,才进行批量任务状态判断
|
|
|
+ $prevTaskInBatch = DB::table('mp_batch_episode_generation_details')
|
|
|
+ ->where('anime_id', $task->anime_id)
|
|
|
+ ->where('episode_number', $prevEpisodeNumber)
|
|
|
+ ->first();
|
|
|
+
|
|
|
+ if ($prevTaskInBatch && $prevTaskInBatch->status !== 'completed') {
|
|
|
+ dLog('command')->info('[' . date('Y-m-d H:i:s') . '] 前一集(第' . $prevEpisodeNumber . '集)尚未完成,跳过当前任务 (anime_id: ' . $task->anime_id . ')');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
dLog('command')->error('[' . date('Y-m-d H:i:s') . '] 前一集(第' . $prevEpisodeNumber . '集)不存在,无法继续生成 (anime_id: ' . $task->anime_id . ')');
|
|
|
|
|
|
// 标记为失败
|