Diferencia entre revisiones de «MediaWiki:Common.js»
Página creada con «→Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página: $(function () { const skin = mw.config.get('skin'); const user = mw.config.get('wgUserName'); if (user !== null && skin === 'vector-2022') { console.log("🔧 Configurando interfaz personalizada"); function ocultarElementosUsuario() { $('#pt-watchlist-2').hide(); $('#pt-mytalk').hide(); $('#ca-talk').hide(); } ocult…» |
Sin resumen de edición Etiqueta: Revertido |
||
| Línea 1: | Línea 1: | ||
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */ | /* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */ | ||
<?php | |||
// trigger-jobs.php | |||
// Ejecuta todos los trabajos pendientes en la cola de MediaWiki | |||
$ | // Ajusta estas rutas según tu estructura | ||
$phpBinary = '/usr/local/bin/php'; // o simplemente 'php' si está en $PATH | |||
$mediawikiRoot = __DIR__; // Asumiendo que trigger-jobs.php está en la raíz del wiki | |||
$mediawikiRun = "$mediawikiRoot/maintenance/run.php"; | |||
$logDir = "$mediawikiRoot/logs"; | |||
$logFile = "$logDir/runjobs.log"; | |||
// Asegúrate de que el directorio de logs exista | |||
if (!is_dir($logDir)) { | |||
mkdir($logDir, 0755, true); | |||
} | |||
// Comprobación de existencia del archivo principal | |||
if (!file_exists($mediawikiRun)) { | |||
http_response_code(500); | |||
echo "❌ Error: No se encuentra maintenance/run.php\n"; | |||
exit; | |||
} | |||
// Parámetros de control | |||
$maxLoops = 100; // Evita bucles infinitos | |||
$jobsPerBatch = 100; | |||
$jobsProcessed = 0; | |||
$exitCode = 0; | |||
// Bucle principal: ejecuta tandas hasta vaciar la cola | |||
for ($i = 0; $i < $maxLoops; $i++) { | |||
$cmd = "$phpBinary $mediawikiRun runJobs --maxjobs=$jobsPerBatch --quiet"; | |||
exec($cmd . " >> \"$logFile\" 2>&1", $output, $exitCode); | |||
$( | // Verificar si ya no quedan trabajos pendientes | ||
$checkCmd = "$phpBinary $mediawikiRun showJobs"; | |||
$pending = (int) trim(shell_exec($checkCmd)); | |||
if ($pending === 0) { | |||
break; | |||
} | |||
$jobsProcessed += $jobsPerBatch; | |||
sleep(1); // Pausa breve entre tandas | |||
} | |||
// Mostrar respuesta al navegador o fetch() | |||
header('Content-Type: text/plain; charset=UTF-8'); | |||
if ($exitCode === 0) { | |||
echo "✅ Se ejecutaron todos los trabajos pendientes.\n"; | |||
echo "🧮 Total estimado de trabajos procesados: ~{$jobsProcessed}\n"; | |||
echo "📄 Log disponible en: logs/runjobs.log\n"; | |||
} else { | |||
echo "❌ Error al ejecutar runJobs (código $exitCode)\n"; | |||
echo "\n🔍 Última salida:\n" . end($output) . "\n"; | |||
} | |||
Revisión del 15:53 21 jun 2025
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
<?php
// trigger-jobs.php
// Ejecuta todos los trabajos pendientes en la cola de MediaWiki
// Ajusta estas rutas según tu estructura
$phpBinary = '/usr/local/bin/php'; // o simplemente 'php' si está en $PATH
$mediawikiRoot = __DIR__; // Asumiendo que trigger-jobs.php está en la raíz del wiki
$mediawikiRun = "$mediawikiRoot/maintenance/run.php";
$logDir = "$mediawikiRoot/logs";
$logFile = "$logDir/runjobs.log";
// Asegúrate de que el directorio de logs exista
if (!is_dir($logDir)) {
mkdir($logDir, 0755, true);
}
// Comprobación de existencia del archivo principal
if (!file_exists($mediawikiRun)) {
http_response_code(500);
echo "❌ Error: No se encuentra maintenance/run.php\n";
exit;
}
// Parámetros de control
$maxLoops = 100; // Evita bucles infinitos
$jobsPerBatch = 100;
$jobsProcessed = 0;
$exitCode = 0;
// Bucle principal: ejecuta tandas hasta vaciar la cola
for ($i = 0; $i < $maxLoops; $i++) {
$cmd = "$phpBinary $mediawikiRun runJobs --maxjobs=$jobsPerBatch --quiet";
exec($cmd . " >> \"$logFile\" 2>&1", $output, $exitCode);
// Verificar si ya no quedan trabajos pendientes
$checkCmd = "$phpBinary $mediawikiRun showJobs";
$pending = (int) trim(shell_exec($checkCmd));
if ($pending === 0) {
break;
}
$jobsProcessed += $jobsPerBatch;
sleep(1); // Pausa breve entre tandas
}
// Mostrar respuesta al navegador o fetch()
header('Content-Type: text/plain; charset=UTF-8');
if ($exitCode === 0) {
echo "✅ Se ejecutaron todos los trabajos pendientes.\n";
echo "🧮 Total estimado de trabajos procesados: ~{$jobsProcessed}\n";
echo "📄 Log disponible en: logs/runjobs.log\n";
} else {
echo "❌ Error al ejecutar runJobs (código $exitCode)\n";
echo "\n🔍 Última salida:\n" . end($output) . "\n";
}