Avaluació inicial sense contrasenyes Pressupost abans d’intervenir Un especialista responsable de principi a fi

Comandes Estoc Fulfilment

Les notes de la comanda mostren tasques en segon pla que fallen

Utilitza notes i Action Scheduler per diagnosticar errors de webhooks, correu, estoc i fulfilment sense duplicar accions.

Notes privades repetides acostumen a indicar que WooCommerce o una integració reintenta una feina sense arribar a un resultat confirmat. La comanda pot semblar completada mentre continuen fallant correus, estoc, webhooks o fulfilment.

No executis totes les accions fallides. Primer esbrina si el sistema extern va completar la feina tot i el timeout local.

Converteix les notes en una cronologia

Llegeix-les en ordre i agrupa els missatges idèntics. Registra primer error, interval de reintents, resultat recent i canvis d’estat.

- ID de comanda
- ID d'acció i hook
- referència externa
- número d'intent
- classe HTTP o error
- efectes ja observats

Oculta dades personals, credencials i payloads complets. Una cronologia breu resulta més útil que copiar tot el log.

Troba l’acció programada

Obre WooCommerce > Estat > Accions programades i busca per hook, comanda o argument. Revisa estat, hora prevista i missatge d’error.

Accions Pending molt antigues apunten al runner o cron. Errors amb intervals regulars suggereixen aplicació o proveïdor. Conserva almenys un registre abans de netejar-lo: conté la ruta i l’hora necessàries per correlacionar.

Decideix si repetir és segur

Classifica l’operació. Duplicar un avís intern pot ser molest; repetir un cobrament, crear un altre enviament o descomptar estoc té conseqüències comercials.

Un timeout només significa que l’emissor no va rebre confirmació. Consulta el proveïdor amb una referència estable. Les API idempotents i els ID d’esdeveniment han de retornar el mateix resultat davant peticions repetides.

Si el codi propi no conserva la referència, repara’l abans de reproduir la tasca.

Revisa WP-Cron i la capacitat

Confirma que WP-Cron funciona o està substituït per un cron real. Revisa loopback, workers PHP, memòria i salut de MySQL.

Mesura:
- edat de l'acció pendent més antiga
- creixement de la cua
- accions completades per minut
- fatals, bloquejos i timeouts

Afegir processos pot saturar MySQL si el problema és una API lenta o una taula bloquejada. Mesura abans de canviar concurrència i compara hores normals amb pics de comandes.

Comprova si una acció molt lenta bloqueja les següents o si hi ha grups de cua independents. Reiniciar cron sense retirar el coll d’ampolla només acumula més intents. Estableix un temps màxim coherent amb el proveïdor i deixa l’operació en estat recuperable quan se supera.

Correlaciona PHP i el proveïdor

Relaciona l’execució amb logs PHP i el panell extern. Un 401 sol indicar autenticació; 429, límit; 500, error del servei; un timeout deixa el resultat desconegut.

No registris tokens ni cossos amb adreces. Conserva codi de resposta, ID de petició i comanda. Si DNS o certificat afecta totes les accions cap al mateix proveïdor, repara la connectivitat.

Audita el callback

El codi ha de validar arguments, gestionar una comanda inexistent i registrar un resultat durable:

$order = wc_get_order( $order_id );
if ( ! $order ) {
    throw new RuntimeException( 'Comanda no disponible per a la tasca' );
}

En producció també ha de protegir dades i implementar idempotència. No marquis Completed abans que existeixi el resultat requerit.

Reconcilia i reprodueix amb límits

Llista les comandes afectades i confirma pagament, inventari, correu i preparació. Corregeix la causa i executa primer una acció de risc baix.

Observa les notes i el resultat extern abans de processar un lot petit. Atura’t davant qualsevol duplicat. No eliminis tot l’historial només per netejar el panell.

Verifica la salut de la cua

Comprova que les tasques noves comencin a prop de l’hora, acabin una vegada i deixin notes concises. Prova un error segur en sandbox.

El manteniment recurrent ha d’alertar per antiguitat, taxa d’error i creixement. Les notes mostren símptomes individuals; les mètriques detecten el problema general abans que afecti les operacions.

ABANS D’ENVIAR LA SOL·LICITUD

Preguntes freqüents.

Demaneu contrasenyes al formulari?+

No. El formulari públic no demana mai accessos. Les dades segures es demanen només després d’aprovar l’abast i el pressupost.

Qui revisa la incidència?+

La sol·licitud arriba a Jordi Ensenyat, fundador de Code Barcelona i especialista en WordPress amb més de 15 anys d’experiència.

Es canvia res abans del pressupost?+

No. Primer es revisen els símptomes visibles i es defineix l’abast. La intervenció comença després de l’aprovació i amb una via de recuperació preparada.

Treballeu amb webs en anglès i fora d’Espanya?+

Sí. WP Repair atén incidències de WordPress i WooCommerce en català, castellà i anglès mitjançant un servei remot.

Avaluar la meva incidència