Releases: basalam/baqueue
Releases · basalam/baqueue
Release list
release 1.1.0
feat: add "Execute Now" for scheduled jobs and per-attempt timeline
Dashboard job-detail modal now supports two new capabilities:
1. Execute Now: a pending job scheduled for the future can be promoted to
run immediately. Adds a race-safe promote(job_id) driver method
(concrete default in BaseDriver + per-driver overrides for memory,
redis, sqlite, postgres), a promote_job API method, and the
POST /api/jobs/{job_id}/execute endpoint. The button shows exactly
when isScheduled() holds (pending + future delay_until).
2. Per-attempt history: JobPayload gains a `history` list recording one
bounded entry per execution attempt (attempt, started/finished,
status, truncated error, will_retry, next_retry_at). The worker
appends a record in each branch of _process. The modal timeline lists
every attempt; old data and SQL drivers fall back to the legacy
single timeline.
Backward compatibility:
- promote() is a concrete default, so external BaseDriver subclasses
keep instantiating.
- to_dict() gains a keyword-only include_history=True, leaving all
existing callers (incl. Redis persistence) unchanged.
- from_dict() tolerates missing `history`, so old stored payloads load.
- No SQLite/Postgres schema change (history persists on Redis + Memory).
- Per-attempt errors truncated (~1000 chars) and history bounded by
attempt count to avoid payload-size growth.
Bumps version to 1.1.0. Adds 22 tests; full suite green (215 passed).
release 1.0.2
chore: bump version to 1.0.2 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.0.1
1.0.0
Full Changelog: https://github.com/basalam/baqueue/commits/1.0.0