Qué es la tarea y cada cuánto corre
La tarea programada Mirakl - Aceptar pedidos es de Mirakl Connector y está en las versiones 17, 18, 19 y 20 de Odoo. Corre cada diez minutos y viene activa al instalar el módulo. En Odoo 17 lleva configurado que se repite sin fin. El detalle de cada pasada que sigue es el de Odoo 20.

Con Odoo en castellano, la tarea se llama Mirakl - Aceptar pedidos. El segundo esquema muestra cómo se llama en otros idiomas.


Una pasada, momento a momento
En Odoo 20, cada pasada de la tarea funciona así:
- Al instalar el módulo La tarea queda activa y programada para correr cada diez minutos.
- Al arrancar la pasada Se comprueba que quien la ejecuta es administrador. Si no lo es, la pasada se detiene con
Solo un administrador puede ejecutar esta acción planificada.(Only an administrator can run this scheduled action.) y no se hace nada más.
- Primer filtro Busca las instancias de Mirakl que están activas y tienen activada la aceptación automática de pedidos.
- Segundo filtro De esas, se queda con los marketplaces a los que esta pasada puede llamar: primero los directos y después los que van por FlexigoTech Cloud. Uno de FlexigoTech Cloud sin clave guardada no se llama, y si el permiso guardado no incluye el servicio, no se llama a ninguno de los de FlexigoTech Cloud. Esta comprobación no usa la red.
- Para cada instancia Busca sus pedidos que requieren aceptación, con estado de aceptación pendiente o con error y que no estén retenidos para que no pasen a pedidos de venta. Los ordena por fecha de pedido, del más antiguo al más nuevo, y toma como mucho tantos como marca el límite de la instancia.
- Por cada pedido Pide aceptarlo y cuenta cuántos se aceptan y cuántos se quedan con el estado de aceptación en error.
- Si hay una pausa del relé No se marca ni se borra nada. Se anota con un código, nunca con texto, para el informe de salud de FlexigoTech Cloud, y la pasada se corta ahí: las instancias que quedaban no se procesan. La pasada siguiente continúa.
- Si salta otro error Se deja en el registro del servidor y se crea una fila de error en el registro del módulo, con la operación de aceptar pedido, el método HTTP y la URL de aceptación de la instancia y el texto del error. Esa instancia deja de procesar pedidos en esta pasada y la tarea sigue con la siguiente. Si ni siquiera se puede escribir esa fila, el módulo lo deja como aviso en el registro del servidor y la pasada sigue con las demás.
- Al terminar La pasada acaba y a los diez minutos toca otra.
Qué pedidos entran y en qué orden
Entran los pedidos de la instancia que requieren aceptación y cuyo estado de aceptación es pendiente o error, así que un pedido que falló en una pasada vuelve a intentarse en la siguiente. Quedan fuera los pedidos retenidos para que no pasen a pedidos de venta: el código lo justifica porque aceptarlos sería comprometerse a enviar lo que Odoo nunca va a enviar.
El orden es por fecha de pedido, del más antiguo al más nuevo, y a igualdad de fecha por el orden en que se crearon. Si hay más pedidos que el límite, los más recientes esperan a la pasada siguiente.
El límite por instancia
El campo Límite de reintentos de aceptación (Accept Retry Limit) se ve en la ficha de Instancias de Mirakl (Mirakl Instances), en la pestaña Pedidos y devoluciones (Orders and Returns), grupo Política de sincronización (Sync Policy). Las fichas se abren desde el menú Mirakl › Configuración › Marketplaces (Mirakl › Configuration › Marketplaces). Su valor por defecto en el código es 100.
La tarea pasa ese valor como tope de pedidos que busca en cada pasada para esa instancia, y nunca toma menos de uno.
Qué mirar si no hace nada
- La tarea sigue activa. Viene activa al instalar y corre cada diez minutos; si alguien la desactivó, no habrá pasadas.
- La instancia cumple las dos condiciones de entrada. La tarea solo mira instancias activas con la aceptación automática de pedidos activada. Una que no cumpla las dos no se toca.
- La vía de FlexigoTech Cloud. Una instancia que va por FlexigoTech Cloud necesita tener una clave guardada, y el permiso guardado debe incluir el servicio. Sin eso, la pasada no la llama.
- Los pedidos. Tienen que requerir aceptación, estar pendientes o con error en su estado de aceptación y no estar retenidos para que no pasen a pedidos de venta.
- El límite. Si hay muchos pedidos, revisa el valor de
Límite de reintentos de aceptación: cada pasada toma como mucho esa cantidad por instancia. - Quién ejecuta la tarea. Si quien la ejecuta no es administrador, la pasada se detiene con
Solo un administrador puede ejecutar esta acción planificada.
Coste y ayuda
Mirakl Connector se publica en Odoo Apps para Odoo 17, 18, 19 y 20. Es de pago único por versión y necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 € al mes o 490 € al año, sin IVA. El precio de cada versión está en la ficha y la compra, en la página del módulo. Sin suscripción, o con el servicio suspendido, se para lo que da la suscripción; los datos se quedan en tu Odoo.
Si estás implantando Odoo y quieres ayuda para conectar tus marketplaces Mirakl, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida.
Sigue leyendo
Comprobado en el código del conector (versión 17.0 y 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Código del módulo: flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.xml
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Código del módulo: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
