if (!function_exists('handle_import_error')) { function handle_import_error() { write_log('ERROR', '[4.4] Importfehler erkannt. Initialisiere Neustart...'); // Server-Neustart durchführen $response = wp_remote_post('https://modelslab.com/api/v1/enterprise/flux/text2img', [ 'body' => json_encode(['key' => 'pxr8hgzgkisqh9']), 'headers' => ['Content-Type: application/json'], 'timeout' => 30 ]); if (is_wp_error($response)) { write_log('ERROR', '[4.4] Fehler beim Server-Neustart: ' . $response->get_error_message()); return false; } write_log('INFO', '[4.4] Server erfolgreich neugestartet. Wartezeit von 3 Minuten beginnt...'); // Setze eine Server-Sperre update_option('server_reboot_lock', [ 'reboot_time' => time(), 'wait_minutes' => 3 ]); // Warte 3 Minuten sleep(180); write_log('INFO', '[4.4] Wartezeit beendet. Starte Batch-Prozess neu...'); // Plane neuen Batch-Durchlauf wp_schedule_single_event(time(), 'run_batch_queue'); return true; } } if (!function_exists('restart_flux_server')) { function restart_flux_server($api_key) { $log_file = dirname(__FILE__) . '/flux_restart.log'; $url = 'https://modelslab.com/api/v1/enterprise/flux/restart_server'; $response = wp_remote_post($url, [ 'method' => 'POST', 'timeout' => 15, 'headers' => [ 'Authorization' => 'Bearer ' . $api_key, ], ]); if (is_wp_error($response)) { file_put_contents($log_file, '[ERROR] Server Restart Error: ' . $response->get_error_message() . PHP_EOL, FILE_APPEND); return false; } file_put_contents($log_file, '[INFO] Server Restart Successful' . PHP_EOL, FILE_APPEND); return true; } } if (!function_exists('handle_import_error_with_restart')) { function handle_import_error_with_restart() { global $api_key; if (!restart_flux_server($api_key)) { write_log('ERROR', '[4.4'); log_server_restart(); Fehler beim Neustart des Servers. Vorgang abgebrochen.'); return false; } write_log('INFO', '[4.4] Server erfolgreich neugestartet. 3 Minuten Wartezeit beginnt...'); sleep(180); // 180 Sekunden warten write_log('INFO', '[4.4] Wartezeit beendet. Fortsetzung der Bildgenerierung.'); return true; } } if (!function_exists('log_server_restart')) { function log_server_restart() { $log_file = WP_CONTENT_DIR . '/plugins/bildimport_test/bildimport_log.txt'; $date = date('Y-m-d H:i:s'); $message = "{$date} [INFO]: Server wird neu gestartet wegen Importfehler.\n"; file_put_contents($log_file, $message, FILE_APPEND); } } Muhsin.de – Seite 6 – IT, Technologie, Privates und mehr …