✅ Fixed bulk conversion getting stuck on missing files ✅ Added robust error handling and timeout protection ✅ Improved JavaScript response parsing ✅ Added file existence validation ✅ Fixed missing PHP class imports ✅ Added comprehensive try-catch error recovery 🔧 Key fixes: - File existence checks before conversion attempts - 30-second timeout protection per file - Graceful handling of 500 errors and JSON parsing issues - Automatic continuation to next file on failures - Cache busting for JavaScript updates 🎯 Result: Bulk conversion now completes successfully even with missing files 🚀 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
use \WebPConvertCloudService\WebPConvertCloudService;
|
|
|
|
include_once __DIR__ . '../../lib/classes/Config.php';
|
|
use \WebPExpress\Config;
|
|
|
|
include_once __DIR__ . '../../lib/classes/Paths.php';
|
|
use \WebPExpress\Paths;
|
|
|
|
include_once __DIR__ . '/../lib/classes/Config.php';
|
|
|
|
|
|
// Patch together $options object for wpc...
|
|
$options = [];
|
|
|
|
$config = Config::loadConfigAndFix(false);
|
|
|
|
if (!isset($config['web-service'])) {
|
|
WebPConvertCloudService::exitWithError(WebPConvertCloudService::ERROR_ACCESS_DENIED, 'Web Service is not configured');
|
|
}
|
|
|
|
$webServiceConfig = $config['web-service'];
|
|
|
|
if (!$webServiceConfig['enabled']) {
|
|
WebPConvertCloudService::exitWithError(WebPConvertCloudService::ERROR_ACCESS_DENIED, 'Web Service is not enabled');
|
|
}
|
|
|
|
$options['destination-dir'] = Paths::getCacheDirAbs() . '/wpc';
|
|
$options['access'] = [
|
|
//'allowed-ips' => ['127.0.0.1'],
|
|
'whitelist' => $webServiceConfig['whitelist']
|
|
];
|
|
|
|
$options['webp-convert'] = Config::generateWodOptionsFromConfigObj($config);
|
|
|
|
WebPConvertCloudService::handleRequest($options);
|