Características
Las funciones clave de la HTM la aplicación es:
-
La capacidad de registrar tareas a un equipo operativo, proporcionando detalles que les permitan gestionar, filtrar y clasificar tareas.
-
La capacidad de asignar una tarea a un operador específico para su investigación y ejecución.
-
La capacidad de marcar una tarea como ejecutada y de ingresar información relevante a la acción realizada, la cual será registrada y estará disponible para informes de auditoría.
-
La capacidad (opcional) de requerir una o más aprobaciones en una tarea ejecutada.
-
El historial de auditoría de los pasos realizados en el flujo de trabajo para cualquier tarea dada se registra y puede ser consultado.
-
La capacidad de asignar y ejecutar la misma acción en múltiples tareas del mismo tipo (bulk de tareas).
-
La capacidad de enviar Task Manager Domain Events to IPF Processing Data para habilitar el archivo de HTM tarea y domain events datos a través del Solución de archivo ODS o a través de una implementación de cliente específica de archivo según sea necesario desde IPF Processing data Esta función garantiza que los datos puedan ser archivados por las implementaciones del cliente a medida que se crean / ejecutan las tareas antes de ser eliminados al alcanzar estados terminales.
-
La tarea de purga HTM permite la purga (eliminación) de todas las tareas y su historial una vez que se vuelven elegibles.
-
La capacidad de asociar una tarea con una Entidad de Procesamiento específica a la que se aplica la tarea.
Operaciones relacionadas con la tarea que tienen el processingEntity definido permitir para
restricted acceso basado en el processingEntity valor en la solicitud y la Entidad de Procesamiento que posee la tarea.
Llamadas que no incluyen el processingEntity no permita que restricted acceso basado.
|
Publicación Task Manager Domain Events to IPF Processing Data
HTM tiene la capacidad de publicar un completo Task Manager Domain Event para cada ciclo de vida de la tarea. Para obtener más detalles sobre cómo configurar una aplicación para publicar datos en IPF Processing Data utilizando el complemento de salida de datos de procesamiento, ver xref:core:processing-data:features/egress.adoc[aquí].
Al ejecutar HTM en Azure CosmosDB para MongoDB, y delegating event processor mode no se utiliza,
usted debe volver a probar el HTM aplicación y aumento RUs de acuerdo con los resultados de la prueba.
|
HTM Eliminación de Tareas
HTM La tarea de purga implica eliminar elementos de la `task` y `task-history` colecciones. Este proceso asegura que las tareas completadas o canceladas sean eliminadas, lo que ayuda a reducir el tamaño de la colección y mejora el rendimiento general de la aplicación. Los elementos se vuelven elegibles para la purga una vez que alcanzan estados terminales (`Completed` or `Cancelled`) y el período de retención predeterminado (TTL) ha expirado.
Para habilitar HTM Para la purga de tareas, se requieren las siguientes acciones:
-
Crear índices TTL (Tiempo de Vida): Este paso es obligatorio, ya que permite que la base de datos purgue automáticamente los elementos en las colecciones. Sin estos índices, no se llevará a cabo ninguna purga.
-
Conjunto
ttlyexpiryDatefields: El HTM la aplicación misma establece elttlcampo para CosmosDB y elexpiryDatecampo para MongoDB cuando una tarea alcanza un terminal state(CompletedorCancelled). Estos campos determinan el período de retención para los elementos antes de que sean eliminados. El período de retención predeterminado es de 30 días, pero puede ser ajustado utilizando elipf.htm.mongodb.purging.time-to-livepropiedad.
| Los índices TTL deben ser creados porque la base de datos depende de estos índices para purgar entradas. Sin índices TTL, las tareas y el historial de tareas no serán eliminados de las colecciones. |
Por defecto, estos índices se crean automáticamente al iniciar la aplicación y admiten tanto MongoDB y Azure CosmosDB for MongoDB.
Para la creación manual de índices, consulte MongoDB or Azure CosmosDB para MongoDB.
La siguiente configuración controla HTM Purga:
# Configuration for HTM purging of the task and task-history collections.
# When a task (and its history) reach a terminal status (completed or cancelled), a corresponding TTL field will be set,
# instructing the database to purge the item after the configured TTL duration.
ipf.htm.mongodb.purging {
# This flag determines if indexes should be created during application startup.
# The default value is true.
create-indexes = true (1)
# If ipf.mongodb.create-indexes is specified, it will take precedence over this setting.
create-indexes = ${?ipf.mongodb.create-indexes} (2)
# Specifies the database type the application is using. This is crucial as each database requires a slightly different configuration.
# The default mode is "mongo". Available options are: "mongo" for MongoDB and "cosmosdb" for Azure CosmosDB for MongoDB.
database-mode = mongo (3)
# If ipf.mongodb.database-mode is specified, it will take precedence over this setting.
database-mode = ${?ipf.mongodb.database-mode} (4)
# After a task (and its history) reach a terminal status, they will become eligible for purging.
# They will be deleted after the configured time-to-live duration has elapsed.
time-to-live = 30d (5)
# The commit quorum to use when creating indexes,
# see https://www.mongodb.com/docs/manual/reference/command/createIndexes/#create-index-with-commit-quorum for more info
commit-quorum = "votingMembers" (6)
commit-quorum = ${?ipf.mongodb.commit-quorum} (7)
}
<1>`create-indexes` está habilitado por defecto. Si HTM No se necesita purgar, o si los índices se crearán manualmente (por ejemplo, a través de scripts de implementación), puede desactivar esto configurándolo en false.
<2> Puede usar ipf.mongodb.create-indexes en lugar del ipf.htm.mongodb.purging.create-indexes propiedad.
<3>`database-mode` especifica qué base de datos compatible está utilizando. Establezca esto en mongo para MongoDB or cosmosdb para Azure CosmosDB para MongoDB La aplicación creará los índices TTL apropiados basados en esta configuración.
<4> Puede usar ipf.mongodb.database-mode en lugar del ipf.htm.mongodb.purging.database-mode propiedad.
<5>`time-to-live` especifica el período de retención. Incluso después de que una tarea alcance un terminal state, se retendrá durante este período antes de ser eliminado.
El formato de duración es cualquier formato soportado por HOCON.
<6>`commit-quorum` dicta cuántas réplicas deben reconocer la creación del índice antes de que se considere exitosa. Para más detalles, consulte creating índices con quórum de confirmación.
<7> Puede usar ipf.mongodb.commit-quorum en lugar del ipf.htm.mongodb.purging.commit-quorum propiedad.
Creación Manual de Índices TTL para MongoDB
Para MongoDB, cree índices TTL en el expiryDate campo, que indica la fecha exacta en que un artículo debe ser eliminado. Para más detalles, consulte Expire Documentos a una Hora Específica del Reloj.
db.getCollection("task").createIndex({ "expiryDate": 1 }, { expireAfterSeconds: 0 })
db.getCollection("task-history").createIndex({ "expiryDate": 1 }, { expireAfterSeconds: 0 })
`ipf.htm.mongodb.purging.time-to-live`se utiliza para calcular la fecha futura en la que se eliminará el documento.
Creación manual de índices TTL para Azure CosmosDB para MongoDB
Para Azure CosmosDB para MongoDB, cree índices TTL en el interno _ts campo, que contiene una marca de tiempo de la última modificación. Además, los documentos necesitan un ttl campo entero que representa el período de retención en segundos. Para más información, consulte Time para Vivir (TTL) en Azure Cosmos DB y Expire datos con Azure Cosmos DB’s API para MongoDB.
db.getCollection("task").createIndex({"_ts":1}, {expireAfterSeconds: -1})
db.getCollection("task-history").createIndex({"_ts":1}, {expireAfterSeconds: -1})
ipf.htm.mongodb.purging.time-to-live`se convierte a segundos y se establece en el `ttl campo. Azure CosmosDB para MongoDB purgará el documento después de este período.
¿Cómo deshabilitar la purga?
HTM La purga de tareas puede deshabilitarse simplemente eliminando los índices TTL en `task` y `task-history` colecciones.
Asegúrese de deshabilitar la creación automática de índices configurando ipf.htm.mongodb.purging.create-indexes to false,
de lo contrario, los índices se crearían nuevamente en el próximo inicio de la aplicación.
|
Incluso si se eliminan los índices, el HTM continuará estableciendo ttl y expiryDate campos que no tienen efecto en la purga hasta que se recrean los índices.
|
Asincrónico HTM Comunicación del Servidor
HTM Los clientes, por defecto, interactúan con HTM servidor utilizando síncrono HTTP comunicación. Además de eso,HTM también ofrece la opción de comunicarse con el HTM servidor de manera asíncrona (enviando mensajes al apropiado Kafka tema).
| Registrar HTM la tarea es actualmente la única acción asíncrona soportada por el HTM servidor. |
| Asegúrese de que HTM_REGISTER_TASK (a menos que se anule en la configuración)Kafka el tema se crea antes de habilitar el registro de tareas asíncronas. |
Comunicación asíncrona en HTM el servidor está deshabilitado por defecto, para habilitarlo debe agregar lo siguiente a la configuración:
ipf.htm.async.register-task.enabled = true