Problema: la modifica massiva degli ordini WooCommerce genera un “collo di bottiglia” nei server di fattureincloud.it che ne impedisce la creazione (https://woofatture.com/docs/operazioni-sconsigliate/)
Necessità: poter inviare gli ordini ricevuti per i quali si cambia lo stato da “In lavorazione” a “Completato” in modo massivo, con selezione e modifica di più ordini alla pagina dell’elenco ordini, a Fattureincloud per velocizzarne il processo
Soluzione: in riferimento alla guida https://woofatture.com/docs/operazioni-sconsigliate/
e dopo aver analizzato il codice del plugin e i log registrati al server registrati dal plugin per l’invio delle fatture/ricevute a Fattureincloud, consiglio di implementare un sistema per gestire l’invio temporizzato alla serie di chiamate in cURL con un ritardo tra una richiesta e l’altra (throttling) per distribuire il carico nel tempo. E’ possibile farlo utilizzando la funzione sleep() o usleep() in PHP. In alternativa valutare l’utilizzo di una coda asincrona per processare le richieste in modo graduale invece di eseguirle tutte contemporaneamente (wp_schedule_single_event).
Questo dovrebbe poter risolvere il “collo di bottiglia” offrendo la possibilità di inviare/generare le fatture/ricevute in Fattureincloud per gli ordini ai quali si applica una modifica massiva (bulk) direttamente dalla pagina degli ordini di WooCommerce (es: dallo stato “In lavoraizone” allo stato “Completato”) riducendone i tempi di lavorazione per chi deve gestire lo shop e la parte amministrativa di esso.
Cordiali saluti,
Alian Schiavoncini
