package org.nstart.dep265.requestservice.config

import org.springframework.boot.context.properties.ConfigurationProperties

/**
 * Настройки планировщика истечения заявок: периодически переводит просроченные заявки
 * (status ACCEPTED/ACTIVE, окно которых уже закончилось) в EXPIRED.
 */
@ConfigurationProperties(prefix = "pcp.request.expiry")
data class RequestExpiryProperties(
    /** Включён ли планировщик. */
    val enabled: Boolean = true,
    /** Период запуска (мс), читается также в @Scheduled. */
    val fixedDelayMs: Long = 60_000,
    /** Сколько заявок захватывать за одну транзакцию (FOR UPDATE SKIP LOCKED). */
    val batchSize: Int = 200,
    /** Верхняя граница числа батчей за один прогон, чтобы не удерживать поток планировщика. */
    val maxBatchesPerRun: Int = 50,
)
