Resolved

Python asyncio series uploads stay blocked after previous part completes

Python
asyncio
File System
Upload System
State Management
Concurrency
Backend
Debugging

Series video uploads using Python asyncio and priority queues remain permanently blocked even after their dependent previous parts finish uploading | Filesystem-based blocking checks lacked re-validation triggers after state changes

Issue

The video upload system for series content was failing to process subsequent parts of a series even after their dependencies (previous parts) had successfully uploaded and completed. This resulted in indefinite blocking of parts, preventing the entire series from being uploaded.

Culprit

The system checked for blocking conditions only once when videos were initially detected, without re-evaluating the status after previous parts completed and were archived. This meant that even if the prerequisite parts were uploaded and archived, the dependent parts remained blocked indefinitely.

Solution

An automatic unblocking mechanism was introduced to re-check and unblock dependent videos after their prerequisite parts completed. This ensures that once a previous part is successfully uploaded and archived, the dependent parts are automatically unblocked and processed in sequence, eliminating the need for manual intervention.