Puede usar CRON para realizar este trabajo. Pero si necesita limpiar su base de datos de pedidos incompletos solo para mostrar los completados para humanos y no los exporta a otros lugares (por ejemplo, el administrador visita el backend una vez al día y busca los pedidos completados manualmente), le sugiero que no contrate CRON por esto. Puede agregar algunas líneas de código que eliminarán las entradas antiguas de la base de datos cada vez que se acceda al backend.
Las consultas DELETE se ejecutan muy rápido, por lo que no habrá problemas con el rendimiento. La eliminación de datos reales se realizará solo por solicitud. Además, no es necesario tener CRON (algunos proveedores de alojamiento baratos no dan acceso a este servicio).