Skip to content

Conversation

@reiase
Copy link
Contributor

@reiase reiase commented Jan 10, 2026

…balancing strategies

  • Added default_mailbox_capacity to SystemConfig for actor mailbox size configuration.
  • Introduced SpawnOptions struct to allow custom mailbox capacity and public visibility for actors.
  • Implemented LoadBalanceStrategy enum for flexible actor resolution strategies, including RoundRobin and PreferLocal.
  • Updated ActorSystem methods to utilize new options for spawning and resolving actors, improving load balancing and mailbox management.
  • Enhanced resolve_named method to support filtering of only alive nodes and custom load balancing strategies.
  • Refactored related tests and documentation to reflect these changes.

Overview:

Details:

Where should the reviewer start?

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

  • closes GitHub issue: #xxx

…balancing strategies

- Added `default_mailbox_capacity` to `SystemConfig` for actor mailbox size configuration.
- Introduced `SpawnOptions` struct to allow custom mailbox capacity and public visibility for actors.
- Implemented `LoadBalanceStrategy` enum for flexible actor resolution strategies, including RoundRobin and PreferLocal.
- Updated `ActorSystem` methods to utilize new options for spawning and resolving actors, improving load balancing and mailbox management.
- Enhanced `resolve_named` method to support filtering of only alive nodes and custom load balancing strategies.
- Refactored related tests and documentation to reflect these changes.
@codecov-commenter
Copy link

codecov-commenter commented Jan 10, 2026

Codecov Report

❌ Patch coverage is 67.96537% with 74 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/pulsing-actor/src/system.rs 62.09% 47 Missing ⚠️
python/pulsing/topic/broker.py 67.50% 26 Missing ⚠️
python/pulsing/queue/manager.py 93.75% 1 Missing ⚠️
Files with missing lines Coverage Δ
python/pulsing/actor/__init__.py 85.71% <100.00%> (+3.89%) ⬆️
python/pulsing/topic/topic.py 90.47% <100.00%> (+0.26%) ⬆️
python/pulsing/queue/manager.py 67.50% <93.75%> (+1.12%) ⬆️
python/pulsing/topic/broker.py 78.78% <67.50%> (+1.95%) ⬆️
crates/pulsing-actor/src/system.rs 69.66% <62.09%> (-1.93%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

- Added `ask_with_timeout` and `tell_with_timeout` functions to support message sending with cancellation capabilities.
- Introduced `DEFAULT_ASK_TIMEOUT` and `DEFAULT_PUBLISH_TIMEOUT` constants for configurable timeout settings.
- Updated `TopicBroker` and `TopicWriter` to utilize timeout features in message publishing and acknowledgment processes.
- Enhanced tests to validate timeout behavior for publishing and asking operations, ensuring robustness in various scenarios.
…tency

- Removed unnecessary line breaks in docstrings for various test functions to enhance clarity.
- Consolidated message publishing calls in the `test_subscriber_failure_threshold_eviction` test for better readability.
- Updated comments in test functions to ensure they accurately reflect the purpose and functionality being tested.
@reiase reiase merged commit 992c2bb into main Jan 10, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants