Release Notes¶
0.1.0¶
Welcome to the first official release of AsyncMQ!
π Highlights¶
- π A 100% asyncio & AnyIO foundationβno more thread hacks or callback nightmares.
- π A pluggable backend system: Redis, Postgres, MongoDB, In-Memory, or your own.
- β±οΈ Robust delayed and repeatable job scheduling, including cron expressions.
- π Built-in retries, exponential backoff, and time-to-live (TTL) semantics.
- π Dead Letter Queues (DLQ) for failed-job inspection and replay.
- β‘ Rate limiting and concurrency control to protect downstream systems.
- π Sandboxed execution with subprocess isolation and fallback options.
- π Event Pub/Sub hooks for
job:started
,completed
,failed
,progress
,cancelled
, andexpired
. - π Flow/DAG orchestration via
FlowProducer
, with atomic and fallback dependency wiring. - π οΈ A powerful CLI for managing queues, jobs, and workersβJSON output for scripting.
β¨ New Features¶
Core APIs¶
-
@task
decorator -
Define sync or async functions as tasks.
- Attach
.enqueue()
(alias.delay()
) for one-line scheduling. -
Support for
retries
,ttl
,progress
flag,depends_on
, andrepeat_every
. -
Queue
class -
add()
,add_bulk()
,add_repeatable()
for single, batch, and periodic jobs. pause()
,resume()
,clean()
,queue_stats()
, and in-depth inspection.-
Configurable
concurrency
,rate_limit
,rate_interval
, andscan_interval
. -
process_job
&handle_job
-
End-to-end lifecycle: dequeue, pause detection, TTL, delayed re-enqueue, execution (sandbox or direct), retry logic, DLQ, and events.
-
run_worker
orchestrator -
Combines ConcurrencyLimiter, RateLimiter, delayed_job_scanner, and repeatable_scheduler into a single async entrypoint.
-
repeatable_scheduler
-
Dynamic cron and interval scheduling with smart sleep intervals and high accuracy.
-
Utility
compute_next_run()
for dashboards and testing. -
FlowProducer
-
Enqueue entire job graphs/DAGs with dependencies, using atomic backend calls or safe fallback.
-
Job
abstraction -
Rich state machine (WAITING, ACTIVE, COMPLETED, FAILED, DELAYED, EXPIRED).
- Serialization via
to_dict()
/from_dict()
, TTL checks, custom backoff strategies, dependencies, and repeat metadata.
Observability & Configuration¶
-
Settings dataclass
-
Centralized configuration (
debug
,logging_level
,backend
, DB URLs, TTL, concurrency, rate limits, sandbox options, scan intervals). -
Environment variable
ASYNCMQ_SETTINGS_MODULE
for overrides. -
LoggingConfig protocol
-
Built-in
StandardLoggingConfig
with timestamped console logs. -
Pluggable for JSON, file rotation, or third-party handlers via custom
LoggingConfig
implementations. -
EventEmitter hooks for real-time job events, ideal for Prometheus metrics or Slack alerts.
Developer Experience¶
-
CLI
-
asyncmq queue
,asyncmq job
,asyncmq worker
,asyncmq info
groups with intuitive commands and flags. -
JSON and human-readable outputs, piping-friendly for shell scripts.
-
Documentation
-
Comprehensive Learn section with deep-dive guides on every component.
- Features reference for quick lookups.
-
Performance Tuning and Security & Compliance guides (coming soon).
-
Testing Utilities
-
InMemoryBackend for fast, isolated unit tests.
- Helpers for simulating delays, retries, failures, and cancellations.
π Breaking Changes¶
- This is the initial 0.1.0 release. There are no breaking changes yet! π
π― Roadmap & Next Steps¶
- Dashboard UI: real-time job monitoring and management interface.
- Plugin Ecosystem: community-driven extensions for metrics, retries, and custom stores.
Thank you for choosing AsyncMQ! We canβt wait to see what you build.
Happy tasking! π