Acerca de las transacciones personalizadas desencadenadas por tiempo

La aplicación proporciona una infraestructura que le permite escribir sus propias transacciones desencadenadas por tiempo. Estas transacciones desencadenadas por tiempo se invocan y planifican de la misma manera que se invocan y planifican las transacciones desencadenadas por tiempo estándar.

Dependiendo de la forma en que las transacciones desencadenadas por tiempo determinan la lista de tareas que deben procesarse (su carga de trabajo), pueden clasificarse en una de las siguientes categorías:

  • No basadas en tareas (genéricas): estas transacciones desencadenadas por tiempo utilizan una lógica personalizada para determinar el trabajo que han de realizar. Puede que utilicen la cola de tareas centralizada o no.
  • Basadas en tareas (específicas): estas transacciones desencadenadas por tiempo utilizan la cola de tareas para determinar su trabajo.

La aplicación proporciona una infraestructura para crear ambos tipos de transacciones personalizadas desencadenadas por tiempo.

Se ofrece la posibilidad de escribir transacciones desencadenadas por tiempo no basadas en tareas utilizando la clase com.yantra.ycp.japi.util.YCPBaseAgent. Esta clase proporciona una infraestructura genérica independientemente de si se utiliza la cola de tareas o no y, por lo tanto, se puede utilizar para escribir cualquier transacción desencadenada por tiempo.

Las transacciones desencadenadas por tiempo basadas en tareas pueden programarse creando una subclase de la clase com.yantra.ycp.japi.util.YCPBaseTaskAgent.

Si la transacción se basa en la cola de tareas, se recomienda que utilice la infraestructura proporcionada específicamente para escribir transacciones basadas en tareas. Esta infraestructura determina automáticamente el trabajo para el agente personalizado de la cola de tareas, lo que reduce el tiempo de diseño y desarrollo necesario para la transacción.

Todos los agentes personalizados escritos para la especificación de la aplicación son una subclase de la clase com.yantra.ycp.japi.util.YCPBaseAgent, que tiene dos funciones abstractas. Una vez implementadas estas funciones, proporcionan las capacidades de proceso de una transacción desencadenada por tiempo.