发布

  • [OPIK-2095] [BE] Implement webhook listener for Redis stream events (#3433)

    frostbyte_neo 发布于 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
    下载附件