feat: add panic tracking and isolation with PanicTracker

- Implemented PanicTracker for logging panics using tracing.
- Introduced PanicInfo struct to capture panic details.
- Added tests for panic catching and hook restoration.

feat: implement token-bucket rate limiter

- Created RateLimiter for controlling token consumption with burst capacity.
- Added methods for acquiring tokens and checking available tokens.
- Included tests for rate limiting behavior and error handling.

feat: add automatic retry with exponential backoff

- Developed retry function to handle transient errors with configurable retry logic.
- Introduced RetryConfig for customizing retry parameters.
- Added tests for various retry scenarios and error handling.

feat: implement graceful shutdown coordination

- Created ShutdownManager to handle OS signals and manage task shutdown.
- Introduced ShutdownSignal for tasks to observe shutdown requests.
- Added tests for shutdown behavior and task management.

feat: add timeout functionality for async operations

- Implemented with_timeout function to enforce execution time limits.
- Created Timeout struct for wrapping futures with deadlines.
- Added tests for timeout behavior and error handling.
This commit is contained in:
asepharyana
2026-08-28 18:45:20 +07:00
parent 4043a681db
commit 8dec413005
17 changed files with 3087 additions and 38 deletions
+8
View File
@@ -50,6 +50,14 @@ jobs:
flags: "--no-default-features --features compute"
- name: bg only
flags: "--no-default-features --features bg"
- name: resiliency only
flags: "--no-default-features --features resiliency"
- name: traffic only
flags: "--no-default-features --features traffic"
- name: lifecycle only
flags: "--no-default-features --features lifecycle"
- name: observability only
flags: "--no-default-features --features observability"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable