PhoenixKit.Modules.Storage.ProcessFileJob (phoenix_kit v2.28.1)

Copy Markdown View Source

Oban job for background processing of uploaded files.

This job handles:

  • Generating file variants (thumbnails, resizes)
  • Extracting metadata (dimensions, duration)
  • Updating file status

Unique per file_uuid while still pending or running, because the job regenerates every variant of a file rather than one: a gallery page whose thumbnails do not exist yet asks FileController for a dozen variants at once, and without this each request would enqueue another full run of the same work. The key is the file, not the variant, for the same reason — the args carry no variant at all.

:completed is deliberately NOT a unique state (same reasoning as AnnotationThumbnailJob): once a run finishes, a later request — a new dimension added to the kit, a replaced original, a run that failed to write an instance — must be able to enqueue again instead of being silently swallowed until the period lapses.

Summary

Functions

Process a file and generate variants.

Functions

perform(job)

Process a file and generate variants.