Actualización de estado de pedido tarda mucho
-
Hola a tod@s,
Estoy desarrollando un plugin a medida para un cliente en el que tiene la posibilidad de subir un CSV con un listado de resultados en JSON. Cada fila de ese CSV empieza por un código, que se corresponde con un itemmeta del pedido. Voy iterando por cada código en busca del pedido correspondiente para hacer una serie de acciones que toma unos 0.0007 sec, pero a la hora de actualizar el estado del pedido le lleva más de 4 sec por cada uno.
Pensé que era por utilizar el método
$order->update_status()
y lo cambié por el nuevo$order->set_status();$order->save()
, pero sigue igual.Aquí les dejo un benchmark simple:
Leer el CSV: 0.0003 sec
Combinar el CSV: 0.0001 sec
Empieza el ciclo for_ _ Duplicar los resultados de los códigos con «i» en «r»: 0.0001 sec
_ _ Localizar el pedido asociado y crear el JSON: 0.0007 sec
_ _ Subir al pedido el JSON: 0.0031 sec
_ _ Actualizar el estado del pedido: 5.8185 sec–Order ID: #2244_ _ Duplicar los resultados de los códigos con «i» en «r»: 0.0001 sec
_ _ Localizar el pedido asociado y crear el JSON: 0.0006 sec
_ _ Subir al pedido el JSON: 0.002 sec
_ _ Actualizar el estado del pedido: 6.8691 sec–Order ID: #2243_ _ Duplicar los resultados de los códigos con «i» en «r»: 0.0001 sec
_ _ Localizar el pedido asociado y crear el JSON: 0.0006 sec
_ _ Subir al pedido el JSON: 0.0021 sec
_ _ Actualizar el estado del pedido: 4.7419 sec–Order ID: #1414_ _ Duplicar los resultados de los códigos con «i» en «r»: 0.0001 sec
_ _ Localizar el pedido asociado y crear el JSON: 0.001 sec
_ _ Subir al pedido el JSON: 0.0027 sec
_ _ Actualizar el estado del pedido: 4.8132 sec–Order ID: #1413_ _ Duplicar los resultados de los códigos con «i» en «r»: 0.0001 sec
_ _ Localizar el pedido asociado y crear el JSON: 0.0015 sec
_ _ Subir al pedido el JSON: 0.0051 sec
_ _ Actualizar el estado del pedido: 6.9639 sec–Order ID: #1412_ _ Duplicar los resultados de los códigos con «i» en «r»: 0.0001 sec
_ _ Localizar el pedido asociado y crear el JSON: 0.0009 sec
_ _ Actualizar el pedido con el JSON: 0.003 sec
_ _ Actualizar el estado del pedido: 6.9301 sec–Order ID: #1406_ _ Duplicar los resultados de los códigos con «i» en «r»: 0.0001 sec
_ _ Localizar el pedido asociado y crear el JSON: 0.001 sec
_ _ Actualizar el pedido con el JSON: 0.0026 sec
_ _ Actualizar el estado del pedido: 5.8801 sec–Order ID: #1405Tiempo total de ejecución: 42.0449 sec
Actualizados: 7Y aquí el código de actualización:
if ($update) { $order = wc_get_order( $order_id ); if (!empty($order)) { // $order->update_status('generating-report', 'Se ha subido un CSV con los resultados de este test.' ); // DEPRECATED since WC 3.0 $order->set_status( 'analyzing-sample', 'Se ha subido un CSV con los resultados de este test.' ); // WC 3.0 need this $order->save(); // WC 3.0 need this } $registros++; }
¿Alguien sabe porqué WooCommerce tarda tanto en actualizar los estados de pedidos?
- El debate ‘Actualización de estado de pedido tarda mucho’ está cerrado a nuevas respuestas.