def transcode_video(public_video_id, delete=True):
"""
Args:
public_video_id (str)
delete (bool): delete video on failure
"""
with Lock('TASK_LOCK_TRANSCODE_VIDEO:' + public_video_id, 3600) as lock:
if lock.is_acquired:
try:
models.invalidate_cache(public_video_id)
_transcode_video(public_video_id, delete=delete)
except Exception as e:
# Store error message
message = "\n".join([str(arg) for arg in e.args])
models.ProcessingState.objects.filter(
video__public_id=public_video_id
).update(
status=models.ProcessingState.STATUS_FAILED,
message=message,
)
raise
finally:
models.invalidate_cache(public_video_id)
评论列表
文章目录