¿Cómo ejecutar un asistente desde una tarea programada?

Buen día, quisiera saber si se puede crear una tarea programada de un asistente, ya que al hacerlo de forma tradicional:

    class Cron(metaclass=PoolMeta):
    'Cron'
    __name__ = 'ir.cron'

    @classmethod
    def __setup__(cls):
        super().__setup__()
        cls.method.selection.append(
            ('conector.actualizar_ventas|transition_actualizar_venta', "Actualizar ventas"),
            )

Me marca error ya que no es un modelo.

Hola, en lugar de llamar a un asistente, deberías hacer que el propio asistente llame a una función si quieres que esta función sea “compartida”.

En este caso, la función actualizar_ventas pasaría a ser una función de clase y de esta manera el asistente y el Cron estarían llamando a la función, consiguiendo el flow que quieres.

Eso hago en la clase ActualizarVentas:

    class ActualizarVentas(Wizard):
    'ActualizarVentas'
    __name__ = 'conector.actualizar_ventas'
    start_state = 'actualizar_venta'
    actualizar_venta = StateTransition()

    def transition_actualizar_venta(self):
        print("--------------RUN WIZARD VENTAS--------------")
        return 'end'

Pero lo que yo necesito es poder ejecutar el asistente cada 5 minutos de forma automática, como se hace con el Cron

You can not run wizard by cron. You can only run class method of model.
Your code should probably not be in a wizard because wizard are dedicated to user interaction.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.