Coding standards
Security in ResourceSpace
Developer reference
Database
User api session functions
Geolocation functions
Storage test functions

storage_test_recover()

Description

Retry abandoned cleanup, from cron or before a new start. Never guess directories from a glob.
The registry survives browser closure, PHP crashes and server restarts.

Parameters

ColumnTypeDefaultDescription
void { :

Return

void

Location

include/storage_test_functions.php lines 540 to 566

Definition

 
function storage_test_recover(): void
{
    if (!
storage_test_lock()) {
        return;
    }
    
$previous = $GLOBALS['use_error_exception'] ?? false;
    
$GLOBALS['use_error_exception'] = true;
    try {
        
$state = storage_test_load();
        if (
$state !== null && $state['stage'] !== 'done' && time() - $state['updated'] >= 120) {
            
$state['stage'] = 'cleanup';
            
$state['outcome'] = 'cancelled';
            
$deadline = hrtime(true) / 1e9 + 1;
            do {
                
storage_test_advance($state);
            } while (
                
$state['stage'] !== 'done' && ($state['error'] ?? '') !== 'storage_test_cleanup_error'
                
&& hrtime(true) / 1e9 < $deadline
            
);
        }
    } catch (
Throwable $e) {
        
debug('Storage performance test: recovery blocked (' . get_class($e) . ').');
    } finally {
        
$GLOBALS['use_error_exception'] = $previous;
        
storage_test_lock(true);
    }
}

This article was last updated 13th November 2026 16:05 Europe/London time based on the source file dated 13th November 2026 11:40 Europe/London time.