refactor(manager-core): single source for executor-timeout default
Stage 6 review Obs 1b: the 300s default lived as a literal in two places (DEFAULT_ASYNC_EXEC_TIMEOUT in dispatcher.rs and DEFAULT_SAFE_VISIBILITY_VS_EXEC_BUDGET_SECS in triggers_api.rs). A future change to the dispatcher would silently leave the visibility-timeout warn threshold out of sync. Extract a single pub const DEFAULT_ASYNC_EXEC_TIMEOUT_SECS: u32 = 300 in dispatcher.rs, derive the existing Duration constant from it, and re-export it under the triggers_api name so the validator's self-contained semantics are preserved at the call site. Tests still inject the value explicitly via TEST_SAFE_LIMIT — no behavior change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -41,10 +41,11 @@ use crate::trigger_repo::{
|
||||
const MIN_QUEUE_VISIBILITY_TIMEOUT_SECS: u32 = 30;
|
||||
|
||||
/// Default soft-warning ceiling when `PICLOUD_DISPATCHER_ASYNC_EXEC_TIMEOUT_SEC`
|
||||
/// is unset — matches `DEFAULT_ASYNC_EXEC_TIMEOUT` in dispatcher.rs.
|
||||
/// Kept as a constant rather than imported so the validator stays
|
||||
/// self-contained for unit tests.
|
||||
const DEFAULT_SAFE_VISIBILITY_VS_EXEC_BUDGET_SECS: u32 = 300;
|
||||
/// is unset. Re-exported from the dispatcher so the single source of
|
||||
/// truth for the executor-budget default lives in one place — a future
|
||||
/// change to the dispatcher default shifts the visibility-timeout warn
|
||||
/// boundary in lockstep.
|
||||
use crate::dispatcher::DEFAULT_ASYNC_EXEC_TIMEOUT_SECS as DEFAULT_SAFE_VISIBILITY_VS_EXEC_BUDGET_SECS;
|
||||
|
||||
/// Read the dispatcher's per-message executor budget at validation
|
||||
/// time so the warn-threshold tracks the live env-overridable value
|
||||
|
||||
Reference in New Issue
Block a user