PhxMediaLibrary.AsyncProcessor behaviour (PhxMediaLibrary v0.6.1)

Copy Markdown View Source

Behaviour for async processing adapters.

The default implementation uses Task.Supervisor for simple async processing. For production apps with persistence and retry requirements, use the Oban adapter.

Summary

Callbacks

Process conversions asynchronously.

Process conversions synchronously (for testing or immediate needs).

Callbacks

process_async(media, conversions)

@callback process_async(
  media :: PhxMediaLibrary.Media.t(),
  conversions :: [PhxMediaLibrary.Conversion.t()]
) ::
  :ok | {:error, term()}

Process conversions asynchronously.

process_sync(media, conversions)

(optional)
@callback process_sync(
  media :: PhxMediaLibrary.Media.t(),
  conversions :: [PhxMediaLibrary.Conversion.t()]
) ::
  :ok | {:error, term()}

Process conversions synchronously (for testing or immediate needs).