Expand description
Semáforo de contagem via lock files para limitar invocações paralelas (veja lock::acquire_cli_slot).
Semáforo de contagem via lock files para limitar invocações paralelas do CLI.
acquire_cli_slot tenta adquirir um dos N slots disponíveis abrindo o arquivo
cli-slot-{N}.lock no diretório de cache do SO e obtendo um flock exclusivo.
O std::fs::File retornado DEVE ser mantido vivo durante toda a execução de
main; descartá-lo libera o slot automaticamente para a próxima invocação.
Quando wait_seconds é Some(n) > 0, a função faz polling a cada
crate::constants::CLI_LOCK_POLL_INTERVAL_MS milissegundos até o deadline. Quando é None
ou Some(0), uma única tentativa é feita e Err(AppError::AllSlotsFull) é
retornado imediatamente se todos os slots estiverem ocupados.
Functions§
- acquire_
cli_ slot - Adquire um slot de concorrência no semáforo de
max_concurrencyposições.