No description
Find a file
autocommit 2f6887255f
Some checks failed
Publish / publish (push) Failing after 1s
Publish to PyPI / Build and Publish (push) Failing after 53s
deps-upgrade(root): ⬆️ Update project dependencies in pyproject.toml for improved build consistency and security
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 15:15:00 -07:00
.forgejo/workflows chore: migrate to DRY reusable workflow 2026-01-21 12:50:17 -08:00
src refactor(registry): ♻️ Improve registry URL parsing/validation for new formats and robustness 2026-06-10 04:05:16 -07:00
.gitignore chore(gitignore): 🔧 add missing dist/ pattern to ignore build artifacts 2026-03-30 13:00:04 -07:00
pyproject.toml deps-upgrade(root): ⬆️ Update project dependencies in pyproject.toml for improved build consistency and security 2026-06-10 15:15:00 -07:00
README-dev-publish.md docs(docs): 📝 Update registry URLs from 'forge.black.local' to 'forge.black.lan' in README files 2026-06-10 04:05:16 -07:00
README.md docs(docs): 📝 Update registry URLs from 'forge.black.local' to 'forge.black.lan' in README files 2026-06-10 04:05:16 -07:00

lilith-queue-cli

Python CLI tools for managing BullMQ queues via Redis.

Installation

pip install lilith-queue-cli

Or from the Lilith Platform registry:

pip install lilith-queue-cli --index-url http://forge.black.lan/api/packages/lilith/pypi/simple/

Commands

queue-status

View queue status and job counts.

queue-status -q IMAGE_GENERATOR_QUEUE
queue-status -q my-queue -r redis://custom:6379
queue-status -q my-queue -j 5  # Show 5 recent jobs

queue-list

List jobs in the queue.

queue-list -q my-queue -s waiting
queue-list -q my-queue -s failed -l 50
queue-list -q my-queue -s waiting -f "cyberpunk"  # Filter by name
queue-list -q my-queue -s waiting -v  # Verbose output

queue-clear

Clear jobs from the queue.

queue-clear -q my-queue --waiting
queue-clear -q my-queue --failed --completed
queue-clear -q my-queue --all
queue-clear -q my-queue --waiting -f "test"  # Filter by name
queue-clear -q my-queue --active --force  # Force clear active jobs
queue-clear -q my-queue --waiting --dry-run  # Preview without clearing

queue-control

Control queue operations.

queue-control -q my-queue pause
queue-control -q my-queue resume
queue-control -q my-queue drain  # Remove all waiting jobs

Environment Variables

  • REDIS_URL: Default Redis connection URL (default: redis://localhost:6379)

Python API

from lilith_queue_cli.client import QueueClient, JobCounts, JobInfo

client = QueueClient("my-queue", redis_url="redis://localhost:6379")

# Get job counts
counts: JobCounts = client.get_job_counts()
print(f"Waiting: {counts.waiting}, Active: {counts.active}")

# Get jobs
jobs: list[JobInfo] = client.get_jobs(["waiting", "failed"], limit=100)
for job in jobs:
    print(f"[{job.state}] {job.name}")

# Control queue
client.pause()
client.resume()
client.drain()

# Clear jobs
cleared, errors = client.clear_jobs(["completed", "failed"])
print(f"Cleared {cleared} jobs")

client.close()

License

MIT