PHP atura una petició quan supera el temps d’execució, però el retard real pot ser feina de CPU, un bloqueig de base de dades, una espera HTTP remota o un lot massa gran. Augmentar el valor no fa eficient la tasca i pot haver-hi un timeout anterior al proxy.
Conserva el primer error fatal i comprova si la tasca s’ha completat parcialment abans de tornar-la a executar.
Registra els límits de la tasca
Anota pàgina o acció, nombre d’elements, hora d’inici, hora de l’error i últim element confirmat. Consulta el fitxer i la línia de l’error fatal.
Compara:
max_execution_time de PHP
timeout del proxy i servidor web
timeout de l'API remota
durada de consulta o bloqueig MySQL
durada mostrada pel navegador
Utilitza registres protegits i oculta paràmetres personals o secrets.
Dibuixa la jerarquia de temps màxims
Anota el termini de cada salt: CDN, balancejador, servidor web, PHP-FPM, script PHP, base de dades i API remota. El valor efectiu més petit acaba la petició visible.
Distingeix temps total de temps de CPU, perquè les configuracions PHP no comptabilitzen igual totes les esperes de xarxa. Comprova el comportament de l’allotjament en lloc de confiar en el nom de l’ajust. Un procés CLI té una altra jerarquia i també necessita un límit operatiu.
Esbrina què fa la línia assenyalada
L’error pot apuntar a un bucle, consulta, operació amb fitxers o petició de xarxa. Llegeix el codi proper i la pila de crides del component.
Un timeout dins de curl_exec() suggereix una dependència remota; dins d’una funció de base de dades pot amagar una consulta lenta o un bloqueig; en un bucle sobre entrades o imatges assenyala la mida del lot.
No modifiquis aquella línia sense entendre les entrades i qui la crida.
Comprova efectes parcials
Importacions, correus, actualitzacions i substitucions poden confirmar cada element per separat. Compta què ha canviat i identifica registres amb claus estables.
Abans de reintentar, confirma que l’operació és idempotent o reprèn-la des d’un punt de control. Repetir un enviament massiu o una escriptura externa pot crear duplicats visibles per als clients.
Fes una còpia nova dels fitxers i les dades abans de reparar resultats parcials.
Rastreja esperes MySQL i remotes
Relaciona la petició amb registres de consultes lentes, bloquejos i proveïdor. Estableix temps de connexió i lectura acotats a les API pròpies.
Un timeout extern deixa el resultat en estat desconegut. Consulta el proveïdor mitjançant una referència estable abans de repetir una escriptura.
Evita mantenir oberta una transacció MySQL mentre esperes un servei extern.
Processa en lots acotats
Divideix la feina en unitats petites i desa el progrés després de cada lot completat.
Propietats del lot:
identificadors explícits
durada mesurada
punt de control i represa
llista d'errors
reintent segur
Utilitza cron o Action Scheduler quan correspongui, però vigila la cua. Una acumulació amagada no és una tasca completada.
Prefereix CLI per al manteniment
WP-CLI evita els terminis del navegador i del proxy i és adequat per a importacions, substitucions i regeneracions. Encara necessita límits explícits, registres i reversió.
Executa’l amb l’usuari correcte de l’allotjament, a l’arrel i base de dades previstes. Confirma l’entorn abans de qualsevol ordre destructiva.
No pressuposis que tancar el terminal atura un procés desacoblat.
Canvia els temps amb proves
Si la tasca mesurada és finita, eficient i no es pot dividir més, ajusta els límits de PHP o del servidor mitjançant controls compatibles durant la finestra de manteniment.
Mantén acotades les peticions públiques per protegir els workers. Restaura els valors temporals i documenta’ls.
Ampliar totes les capes a diversos minuts permet que una sola visita ocupi capacitat escassa.
Verifica càrrega i salut del web
Executa primer una prova petita i després el lot previst mentre vigiles durada, memòria, base de dades i workers PHP. Comprova recomptes i que no hi hagi efectes duplicats.
Prova pàgines públiques durant l’operació. El manteniment recurrent hauria d’identificar tasques llargues abans d’actualitzar i programar-les amb punts de control; una tasca fiable acaba o es reprèn de manera determinista, sense dependre d’un timeout cada vegada més alt.