| 12345678910111213141516171819202122 |
- import { FALLBACK_LONG_RUNNING_STATE_THRESHOLD_MINUTES } from './project-transition-state'
- const RESTORE_TIME_SLOPE = 720 / 21000
- const RESTORE_TIME_BASE_MINUTES = 3
- const LONG_RUNNING_RESTORE_THRESHOLD_MULTIPLIER = 1.5
- export const estimateRestoreTimeFromSizeGb = (sizeGb: number) => {
- return RESTORE_TIME_SLOPE * sizeGb + RESTORE_TIME_BASE_MINUTES
- }
- export const getRestoreLongRunningThresholdMinutes = (volumeSizeGb?: number | null) => {
- if (typeof volumeSizeGb !== 'number' || !Number.isFinite(volumeSizeGb)) {
- return FALLBACK_LONG_RUNNING_STATE_THRESHOLD_MINUTES
- }
- return Math.max(
- FALLBACK_LONG_RUNNING_STATE_THRESHOLD_MINUTES,
- Math.ceil(
- estimateRestoreTimeFromSizeGb(volumeSizeGb) * LONG_RUNNING_RESTORE_THRESHOLD_MULTIPLIER
- )
- )
- }
|