Tenemos un sitio web de Ubercart que maneja grandes volúmenes de pedidos diariamente, los procesa y ejecuta otras tareas como facturación, enrutamiento de entrega y creación de pedidos futuros.
Algunas de estas tareas son pesadas y, a veces, hacen que PHP agote el tiempo de espera. ¿Hay una mejor manera de ejecutar estas tareas como a través de Drush o Batch API?
La velocidad no es necesariamente una prioridad (aunque agradable), pero queremos evitar tiempos de espera, que a veces pueden causar problemas con la facturación correcta y la programación de pedidos diarios.
¿Es la secuencia de comandos Drush la mejor opción o la API de Batch? ¿Hay algún tutorial para hacer un mejor uso de ambos?
También puede usar un script PHP CLI personalizado. Aquí hay un ejemplo simple para drupal 7:
fuente
Tengo un sitio D6 Ubercart que requiere un procesamiento de fondo significativo para los 'productos digitales generados automáticamente'. Manejo esto a través de:
Esta es una solución algo similar a la propuesta por Xio, con la excepción de que no usa un script PHP CLI, sino scripts BASH invocados por PHP en Drupal para ejecutarse en segundo plano. Esas secuencias de comandos de BASH acceden a la base de datos de Drupal y avanzan los valores de "estado" de cualquier producto que está compilando y enviando a los clientes. Además, Drupal puede ver estos valores de estado e informar a los clientes donde en el 'proceso de creación personalizada' se encuentran sus compras en este momento.
fuente