-
[OPIK-2095] [BE] Implement webhook listener for Redis stream events (#3433)
发布于
2025-09-29 09:26:14 +00:00 - [OPIK-2095] [BE] Refactor Redis stream listeners to extend BaseRedisSubscriber
- Refactored OnlineScoringBaseScorer to extend BaseRedisSubscriber instead of duplicating Redis stream functionality
- Created OnlineScoringStreamConfigurationAdapter to bridge OnlineScoringConfig with StreamConfiguration interface
- Added missing stream configurations in test config for trace thread scorers
- Eliminated code duplication while preserving all existing functionality
- All concrete scorer implementations now inherit common Redis stream handling logic
- OPIK-2095: Add reactive webhook subscriber with retry logic
- Add WebhookSubscriber for processing webhook events from Redis streams
- Add WebhookHttpClient with configurable retry mechanism using exponential backoff
- Add WebhookPublisher for publishing events to Redis streams
- Convert WebhookEventTypes from constants to enum with JSON serialization
- Add WebhookConfig with comprehensive configuration options
- Add WebhookEvent DTO with generic payload support
- Add comprehensive unit tests for WebhookSubscriber
- Configure default webhook settings in config.yml and config-test.yml
- Implement conditional retry logic to respect max retry limits
- [OPIK-2095] [BE] Refactor Redis stream listeners to extend BaseRedisSubscriber
- Refactored OnlineScoringBaseScorer to extend BaseRedisSubscriber instead of duplicating Redis stream functionality
- Created OnlineScoringStreamConfigurationAdapter to bridge OnlineScoringConfig with StreamConfiguration interface
- Added missing stream configurations in test config for trace thread scorers
- Eliminated code duplication while preserving all existing functionality
- All concrete scorer implementations now inherit common Redis stream handling logic
- [OPIK-2095] [BE] Address GitHub PR comments - Fix configuration formatting and default values
- Fix missing space in config-test.yml comment (# Default:1s -> # Default: 1s)
- Update WebhookConfig maxRetries default from 4 to 3 for consistency with documentation
下载附件