Add transcoding status to videos

This commit is contained in:
Carl Pearson
2024-09-22 06:04:21 -06:00
parent 0fafbe4265
commit a5c95e34ce
3 changed files with 30 additions and 1 deletions

View File

@@ -215,6 +215,34 @@ func transcodePending() {
// loop until no more pending jobs
for {
var originalsToUpdate []uint
// find any originals with a transcode job and mark them as transcoding
db.Debug().Model(&Original{}).
Select("id").
Where("id IN (?)",
db.Model(&Transcode{}).
Select("original_id"),
).
Find(&originalsToUpdate)
db.Debug().Model(&Original{}).
Where("id IN ?", originalsToUpdate).
Update("status", Transcoding)
// originals marked transcoding that don't have a transcode job -> complete
db.Debug().Model(&Original{}).
Select("id").
Where("status = ? AND id NOT IN (?)",
Transcoding,
db.Model(&Transcode{}).
Select("original_id"),
).
Find(&originalsToUpdate)
db.Debug().Model(&Original{}).
Where("id IN ? AND status = ?", originalsToUpdate, Transcoding).
Update("status", Completed)
var trans Transcode
err := db.Where("status = ?", "pending").
Order("CASE " +