Skip to content

BlissFfmpegJob (BlissChangeEncodingJob): skipping existing target problematic #438

@albertz

Description

@albertz

I think this logic here is problematic:

if not os.path.exists(target):

Why do we have this? This job does not seem to be resumable? Or is it?

In case SGE kills the job (e.g. runs out of time or OOM), FFMpeg would leave a partially finished file. Then in the next run, it will leave it unfinished.

(@JackTemaki Could this maybe explain your observation that sequence lengths were not correct?)

Do we intend to have this resumable? Then, one potential fix:

  • first write it to a temp dir
  • then copy it over to the out dir, but still use a temp filename (this copy might be interrupted as well)
  • then use os.rename to the real final output name. This is atomic. Either it completes or not.

If we never intend to have it resumable, it's not really needed. But it might anyway be a good idea to follow this logic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions