116 lines
5.8 KiB
Markdown
116 lines
5.8 KiB
Markdown
### ComfyUI Persistent Queue
|
||
|
||
A simple, friendly way to make your ComfyUI job queue survive restarts and crashes. It remembers what you’ve queued, saves finished jobs (with thumbnails), and adds a clean UI panel to pause/resume, reorder, rename, and manage your queue and history.
|
||
|
||
This extension does not add new nodes to your graph. It integrates with ComfyUI’s queue and UI directly.
|
||
|
||
---
|
||
|
||
### What you get (at a glance)
|
||
- **Persistent queue**: Jobs are saved to a small local database and restored on restart.
|
||
- **Pause/Resume**: Temporarily stop execution without losing your place.
|
||
- **Reorder**: Drag-and-drop reordering.
|
||
- **Rename jobs**: Give jobs friendlier names for easier tracking.
|
||
- **Delete from queue**: Remove items you no longer want.
|
||
- **History with thumbnails**: Finished jobs are saved with small previews.
|
||
- **History filter**: Filter by date and time
|
||
- **Quick restore**: Drag a history thumbnail back into ComfyUI to restore its workflow.
|
||
- **Progress display**: Shows running job progress when available.
|
||
- **No extra setup**: Uses ComfyUI’s built-in server and libraries.
|
||
|
||
---
|
||
|
||
### Installation
|
||
|
||
1) Quit ComfyUI if it’s running.
|
||
|
||
2) Install the extension into your `ComfyUI/custom_nodes` folder. You can:
|
||
- **Clone or copy** this folder as `ComfyUI/custom_nodes/ComfyUI-Persistent-Queue`, or
|
||
- Download a ZIP of this project and extract it to `ComfyUI/custom_nodes/ComfyUI-Persistent-Queue`.
|
||
|
||
3) Start ComfyUI.
|
||
|
||
That’s it. No extra dependencies are typically required on current ComfyUI versions. If you’re on an older environment and see errors about Pillow or aiohttp, install them:
|
||
|
||
---
|
||
|
||
### Uninstall
|
||
|
||
1) Quit ComfyUI.
|
||
2) Delete the folder `ComfyUI/custom_nodes/ComfyUI-Persistent-Queue`.
|
||
3) (Optional) Delete the local database file if you want to clear saved queue/history:
|
||
- It’s stored in ComfyUI’s user directory as `persistent_queue.sqlite3` (e.g. `ComfyUI/user/persistent_queue.sqlite3`). Deleting this removes the saved queue and history.
|
||
|
||
---
|
||
|
||
### How to use the UI
|
||
|
||
When ComfyUI starts, this extension injects a **Persistent Queue** panel and toolbar button.
|
||
|
||
- **Open/Close the panel**: Use the toolbar button (or the panel toggle in the UI). If you do not see it, see “Troubleshooting” below.
|
||
- The panel has tabs that typically include: **Queue**, **History**, (and may show Gallery/Workflow tools depending on build).
|
||
|
||
#### Queue tab
|
||
- **See what’s running and what’s pending**: The top shows current running job (with progress if available) and the list of pending jobs.
|
||
- **Pause / Resume**: Click the Pause/Resume button to temporarily stop or continue automatic execution.
|
||
- **Reorder**: Drag-and-drop items to change their execution order.
|
||
- **Priority**: Increase/decrease priority to influence ordering. Higher priority runs sooner.
|
||
- **Rename**: Give a job a more recognizable name. This is stored with the job for easy identification.
|
||
- **Delete**: Remove selected jobs from the queue.
|
||
|
||
#### History tab
|
||
- **Finished jobs list**: Shows recent job runs with small thumbnails.
|
||
- **Search & filter**: Filter by status, time, or quickly search by text (when available).
|
||
- **Preview**: Click a thumbnail to open a lightweight preview.
|
||
- **Restore workflows**: Drag a thumbnail directly into the ComfyUI canvas to load the workflow that produced it. Thumbnails embed workflow info so round-tripping is easy.
|
||
|
||
Tips:
|
||
- Queues are **restored automatically** when ComfyUI restarts. If a job was pending, it will be re-validated and placed back in the queue.
|
||
- If an output image can’t be thumbnailed, you’ll still see a placeholder so you can restore the workflow.
|
||
|
||
---
|
||
|
||
### Where your data lives
|
||
- The extension stores its data in a small SQLite database at:
|
||
- `ComfyUI/user/persistent_queue.sqlite3` (exact path depends on your ComfyUI “user” directory).
|
||
- Thumbnails are stored inside that database; your actual images remain in your normal ComfyUI output folders.
|
||
|
||
---
|
||
|
||
### FAQ
|
||
|
||
- **I don’t see any new nodes. Is that expected?**
|
||
Yes. This is an extension that integrates with ComfyUI’s queue and UI; it does not add custom nodes to place on the canvas.
|
||
|
||
- **My panel doesn’t show up. What should I check?**
|
||
1) Ensure the folder name is exactly `ComfyUI-Persistent-Queue` under `custom_nodes`.
|
||
2) Restart ComfyUI completely.
|
||
3) Check the terminal logs for a line like "ComfyUI-Persistent-Queue initialization failed"—if you see errors about missing packages, install them (see Installation step 3).
|
||
|
||
- **How do I completely reset the extension?**
|
||
Quit ComfyUI and delete `persistent_queue.sqlite3` from your ComfyUI user folder (see “Where your data lives”). This clears saved queue items and history.
|
||
|
||
- **Does this slow down ComfyUI?**
|
||
The database is tiny and uses safe defaults. It should have negligible impact in normal use.
|
||
|
||
---
|
||
|
||
### Advanced (optional)
|
||
For users integrating with external tools, the extension exposes small HTTP endpoints under your ComfyUI server:
|
||
- `GET /api/pqueue` — queue state (paused, running, pending, basic progress)
|
||
- `POST /api/pqueue/pause` — pause execution
|
||
- `POST /api/pqueue/resume` — resume execution
|
||
- `POST /api/pqueue/reorder` — reorder by an array of `prompt_id`s
|
||
- `PATCH /api/pqueue/priority` — set priority for a `prompt_id`
|
||
- `POST /api/pqueue/delete` — delete one or more `prompt_id`s
|
||
- `PATCH /api/pqueue/rename` — rename a job (stored in its workflow JSON)
|
||
- `GET /api/pqueue/history` — list history (supports pagination, filters, sorting)
|
||
- `GET /api/pqueue/history/thumb/{id}` — fetch a stored thumbnail
|
||
- `GET /api/pqueue/preview` — lightweight image previews with embedded workflow metadata
|
||
|
||
Most users won’t need these directly—the UI uses them for you.
|
||
|
||
---
|
||
|
||
Enjoy smoother, safer batch runs with a queue that remembers. If you run into problems or have ideas for improvements, please open an issue in the project repository or share feedback where you obtained this extension.
|