The process queue

Goal: read the live Queue page, understand what each job status means, and know what to do when a job fails.

Prerequisites

  • Any company user can access Queue from the sidebar — no admin role required.

What the queue is

FrameCourier doesn't generate thumbnails, watermarks, or embedded metadata inline while you upload — that work is handed off to a background job runner called the process queue. Uploading a photo or video enqueues one or more jobs; the system processes them automatically in the background a little while later. The jobs it runs are:

  • thumbnail — builds a photo's thumbnail.
  • watermark — applies your configured watermark to a photo.
  • raw_extract — produces a preview image from a camera RAW file so it can be thumbnailed.
  • video_thumb — builds a video's animated GIF preview thumbnail.
  • exif — embeds your copyright/artist/comment metadata into a JPEG or TIFF.
  • cloud_offload — moves a photo or video file to cloud storage.
  • cloud_restore — brings a cloud-stored file back to local disk.
  • ai_tag — sends a photo to an AI vision model to generate searchable metadata (description, tags, scene type, etc.). Runs as a low-priority job so it doesn't block thumbnails or watermarks. See AI photo tagging.

Which jobs get created depends on what you uploaded and your company's settings — see How thumbnails are built, Watermarks, and EXIF metadata & licences for the upload-side view of each job type.

Job lifecycle: pending to processing to done, with a failed/retry branch pending queued, waiting processing worker is running it done succeeded failed after 3 attempts retry
A job starts pending, moves to processing when the worker claims it, and ends done. On error it's retried automatically up to three attempts; once it has failed three times it's left as failed, where you can retry it manually.

Reading the Queue page

The Queue page shows a live count of jobs processing, failed, and pending at the top, and a feed of individual job cards below — active jobs first, then failed jobs needing attention, then the pending backlog. Each card shows the photo or video the job belongs to, its gallery, the job type, and how long it's been running or how long ago it queued or failed.

The page polls automatically every few seconds, so you don't need to refresh — cards appear, update, and disappear as jobs move through the queue in real time.

Retrying a failed job

  1. Find the job on the Queue page — failed jobs show a Retry button and, if available, an Error details disclosure with the underlying error message.
  2. Click Retry. This resets the job back to pending with its attempt count cleared, so the next processing run picks it up fresh.

Clearing failed jobs

  1. When one or more jobs are in the failed state, a Clear failed button appears above the feed.
  2. Click it and confirm. This permanently deletes every failed job for your company — there's no undo, so retry anything you actually want reprocessed first.
A job is only marked failed after three failed attempts — a single transient error (a slow network blip, a momentary file lock) usually resolves itself on the automatic retry within a minute or two, with no action needed from you.

How long does it take?

Jobs are processed automatically in the background, typically within a minute or two of being queued. A very large batch upload, or a backlog of low-priority jobs like AI tagging or an EXIF metadata backfill, can take longer since jobs are handled in turn (normal-priority jobs before low-priority ones, oldest first).

If jobs pile up as pending — or keep landing in failed — for an extended period across many uploads, there may be a processing delay on our side. Contact support and we'll look into it; there's nothing to fix from the gallery or the Queue page itself.

Related