leo-project/leo_mq
52.0
Adequate · 17 September 2026
1.6k
lines of production code
Erlang
primary language
1
measurement over time
What this system is
Leo MQ is a local Erlang message-queuing library designed for asynchronous processing and data consistency within the LeoFS ecosystem. It provides a robust API for publishing, consuming, and managing message states, backed by LevelDB storage and optimized for batch processing. The system includes comprehensive state management via gen\_statem and is supported by unit tests to ensure API reliability.
Features
Initial release of Leo MQ header definitions
This change introduces the \leo\_mq.hrl\ header file, establishing the foundational data structures and constants for the Leo MQ subsystem. It defines the \mq\_properties\ record for configuring publishers and consumers, including settings for database processes, batch sizes, and consumption intervals. The file also specifies the \mq\_state\ record and associated macros to represent queue states such as idling, running, and suspending (auto/force), alongside event types for managing the lifecycle of the message queue components.
include · high confidence
Initial release of leo\_mq local message-queueing library
This entry introduces leo\_mq, a local Erlang message-queueing library designed for use within Leo Project applications (such as leo\_storage, leo\_gateway, and leo\_manager) to handle asynchronous processing and fix inconsistent data. The release includes the core library code, a Makefile-based build system using rebar3, and configuration for Erlang/OTP 21 or later. It also establishes the project's CI pipeline via Travis CI, adds Apache 2.0 licensing, and includes documentation generation scripts.
(repo-wide) · high confidence
Leo MQ message queue library introduced at version 2.0.3
The Leo MQ library is now available as a standalone Erlang application (version 2.0.3) providing a robust message queuing system for LeoFS. This release introduces a new API for publishing, suspending, and resuming message consumption, alongside a consumer mechanism built on gen\_statem for improved state management. The backend storage has been updated to use LevelDB by default, and the supervision tree has been refactored to use supervisor2 for better reliability. Users can now leverage features like bulk loading, configurable batch processing, and efficient message counting to optimize message handling performance.
src · high confidence
Test coverage
Added unit tests for Leo MQ API
Added a new EUnit test suite (leo\_mq\_api\_tests) that validates the Leo MQ API's publish, has\_key, count, and status operations using a mocked client module.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 52.
Lenses
- Code Health 96
- Architecture 100
- Maturity 40
- Readiness 44
- Security 67
Changes since last survey
- 300 commits — 262 feature/other, 38 fixes
By area
- (repo) — 78 commits
- (root) — 63 commits
- src/leo_mq.app.src — 59 commits
- src/leo_mq_consumer.erl — 36 commits
- include/leo_mq.hrl — 25 commits
- src/leo_mq_api.erl — 20 commits
- src/leo_mq_server.erl — 10 commits
- src/leo_mq_publisher.erl — 4 commits
- test/leo_mq_api_tests.erl — 3 commits
- src/.leo_mq_consumer.erl.swp — 1 commit
- src/leo_mq_sup.erl — 1 commit
Notable commits
- fix: Fix Copyright
- fix: Fix a magic number
- fix: Fix all consumers can be running
- fix: Fix building leo_mq
- fix: Fix closely related to leo-project/leofs/issues/333
- fix: Fix comsumption interval
- fix: Fix consumer-fun's bug
- fix: Fix consumer-fun's bug
- fix: Fix consumption interval
- fix: Fix consumption interval#3
- fix: Fix consumption interval#4
- fix: Fix consumption interval#5
- fix: Fix consumption interval#6
- fix: Fix consumption interval#7
- fix: Fix consumption interval#8
- fix: Fix decr_interval_fun
- fix: Fix dialyzer warn
- fix: Fix error-log's description of consume-fun
- fix: Fix for #971
- fix: Fix https://github.com/leo-project/leofs/issues/1059
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
leo-project/leo_mq was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 17 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit a65615302f68ee525fb0889f1bf45701c21e2e15 — the exact code this score is about.
- Scored under rubric-2026.09.13 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-d1ef6c0bd534.