发布

  • [OPIK-2618] [BE] Java Python integration queue optimization studio (#3673)

    frostbyte_neo 发布于 2025-10-17 08:34:56 +00:00

    • [OPIK-2618] [BE] Java Python integration queue optimization studio

    • Fix implementation

    • OPIK-2618: Address PR review comments (cleanup and docs sync)

    • OPIK-2618: Address unresolved PR comments (import, docs, javadoc)

    • OPIK-2618: Apply @andrescrz review items (docs move, TTL 14d, snake_case, fields, typeref, worker cleanup, 5s timeout)

    • OPIK-2618: Replace process_hello_world with process_optimizer_job across Python and Java tests

    • OPIK-2618: Align TTL defaults to config (no in-code defaults), rely on JsonUtils null exclusion

    • OPIK-2618: Address remaining review items (UUID v7 IDs, simplify Redis connect, rely on JsonUtils for nulls)

    • OPIK-2618: Begin splitting rq_worker into smaller modules; re-export process_optimizer_job

    • OPIK-2618: Extract MetricsWorker and NoOpDeathPenalty to opik_backend.workers; keep rq_worker re-exports

    • OPIK-2618: Use Instant for QueueMessage timestamps; honor provided Instants in RqJobUtils

    • OPIK-2618: Document immutable defaults on JobBuilder (args/kwargs)

    • OPIK-2618: Add queues.useJacksonSerialization flag and surface in config.yml

    • OPIK-2618: Introduce MapStruct RqJobMapper and use in RqJobUtils

    • OPIK-2618: Add fallback short join in RqWorkerManager.stop for forceful shutdown

    • OPIK-2618: Make Redis health_check_interval configurable via REDIS_HEALTH_CHECK_INTERVAL_SECONDS (default 60)

    • OPIK-2618: Let client decode Redis responses (decode_responses=True) and remove internal assumption

    • OPIK-2618: Use Lombok on JobStatus (@Getter, @RequiredArgsConstructor)

    • OPIK-2618: Simplify RQ worker manager - single ping at startup, no reconnect loop; delegate to client

    • OPIK-2618: Remove unused _connect_with_backoff and backoff settings; rely on client

    • OPIK-2618: Add /health/liveness and /health/readiness endpoints; Redis ping for readiness

    • OPIK-2618: Introduce shared Redis client singleton; reuse in worker manager and health endpoints

    • OPIK-2618: Delegate Redis connection to shared singleton; remove worker-managed close and startup ping logic from run loop

    • OPIK-2618: DRY RQ_WORKER_ENABLED access via is_rq_worker_enabled(); gate readiness and startup ping

    • Address comments

    • OPIK-2618: Add utils package marker to fix imports

    • OPIK-2618: Simplify RqJobMapper - rely on same-name mapping; only convert Instants

    • Fix tests

    • Fix tests

    • Fix tests

    下载附件