fbb0aa121a
Предыдущий cleanup-fix не помог CI: ConditionTimeout 60s × 2 теста. Trace показал WebhookDispatcher initialized + ZERO sendTick/matchTick лог lines после этого. Spring @Scheduled default pool size = 1; если sendTick блокируется на HTTP timeout (5s) к dead leftover URL — matchTick тоже не запускается до конца HTTP send. CI Postgres testcontainer withReuse(true) тащит leftover deliveries из предыдущих runs. Их слишком много чтобы fail'ить за 60s с pool=1. Фикс комбо: - spring.task.scheduling.pool.size=4 — matchTick/sendTick параллельно, один blocked на dead URL не стопает другие - ordinis.webhook.send-timeout-ms=1000 — leftover dead URLs fail'ят за 1с вместо 5с (5x faster cleanup) - truncate outbox_events дополнительно — matchTick не порождает delivery rows на старые события Локально 2/2 passed за 9.9s. Race-warnings про FK violation (matchTick видит cached subscription но row deleted в @BeforeEach) — noise, тест проходит.