Docs: rewrite for 4.0, add migration guide, update CLAUDE.md#61
Conversation
- Delete 6 stale RST files never migrated to mkdocs - Rewrite all examples to use async def process(self) - Add TransactionConsumer docs with ProcessingContext usage - Migrate exception semantics, message type validation, drop/retry behavior from consumer.rst into consumer_howto.md - Fix configuration docs: schema_registry at app level, confirm not publisher_confirmation, add missing connection/consumer fields - Merge CLI docs into configuration.md with corrected flags - Fix API reference: rejected.measurement.Measurement, add Message, ProcessingContext, Result, PublishedMessage, GarbageCollectorMixin - Add content type handling table, lifecycle hooks, custom metrics Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace InfluxDB mention with Prometheus - Add async, TransactionConsumer, TOML, Avro to feature list - Add missing optional extras: prometheus, sentry - Add Python version badge - Add TransactionConsumer example Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Covers all breaking changes: Tornado removal, async methods, SmartConsumer/PublishingConsumer removal, module reorganization, Pydantic models, testing framework changes, config changes, removed APIs, pickle removal, and Prometheus addition. Includes a quick migration checklist for easy reference. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add process model and message flow documentation - Add key module responsibilities - Add single-test run command - Remove stale Tornado gen.Return reference - Correct lint suppression notes for consumer.py and process.py Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis pull request comprehensively updates documentation across the rejected library to reflect version 4.0 changes, including new async consumer patterns, TransactionConsumer for concurrent processing, Avro schema registry support, YAML/TOML configuration, and an added migration guide from 3.x to 4.0. CLAUDE.md and mkdocs navigation were also updated. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/consumer_howto.md (1)
189-195: Document additional ProcessingContext fields for completeness.The ProcessingContext documentation lists key fields but omits two fields shown in the code:
result-- the Result enum indicating message dispositionreceived_at-- timestamp when the message was received (useful for latency tracking)Consider adding these to provide a complete reference.
📝 Suggested addition
The `ProcessingContext` provides: - `ctx.message` -- the `Message` model with all AMQP properties - `ctx.channel` -- the pika channel for the connection - `ctx.connection` -- the connection object - `ctx.measurement` -- per-message `Measurement` for custom metrics - `ctx.raw_body` -- the original bytes before decoding +- `ctx.result` -- the `Result` enum indicating message disposition (set by framework) +- `ctx.received_at` -- timestamp when the message was received (monotonic clock)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/consumer_howto.md` around lines 189 - 195, Update the ProcessingContext documentation to include the two missing fields shown in code: add `result` (the Result enum indicating message disposition such as ACK/NACK/REQUEUE) and `received_at` (timestamp when the message was received, useful for latency/metric calculations), ensuring the descriptions mirror the existing bullet style (e.g., `ctx.result` -- Result enum indicating message disposition; `ctx.received_at` -- datetime/timestamp when the message was received).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/consumer_howto.md`:
- Around line 189-195: Update the ProcessingContext documentation to include the
two missing fields shown in code: add `result` (the Result enum indicating
message disposition such as ACK/NACK/REQUEUE) and `received_at` (timestamp when
the message was received, useful for latency/metric calculations), ensuring the
descriptions mirror the existing bullet style (e.g., `ctx.result` -- Result enum
indicating message disposition; `ctx.received_at` -- datetime/timestamp when the
message was received).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 26f9b51a-2872-4bff-8ac9-5d9559d6ba7f
📒 Files selected for processing (14)
CLAUDE.mdREADME.mddocs/api.mddocs/api_consumer.rstdocs/api_data.rstdocs/api_testing.rstdocs/cli.rstdocs/configuration.mddocs/consumer.rstdocs/consumer_howto.mddocs/example_config.rstdocs/index.mddocs/migrating.mdmkdocs.yml
💤 Files with no reviewable changes (6)
- docs/api_consumer.rst
- docs/api_data.rst
- docs/api_testing.rst
- docs/cli.rst
- docs/example_config.rst
- docs/consumer.rst
Add the two missing ProcessingContext fields to the consumer howto documentation: result (Result enum for message disposition) and received_at (monotonic timestamp for latency tracking). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
Test plan
mkdocs buildsucceeds with no warnings🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation