Todos los productos
Search
Centro de documentos

Microservices Engine:SDK de Java

Última actualización: Sep 06, 2026

Este tema describe los cambios de funciones en cada versión del SDK de Java de SchedulerX, incluidas las nuevas funciones, optimizaciones y correcciones de problemas críticos. Úselo para dar seguimiento a las versiones del SDK de Java.

Notas sobre actualización de versión y desuso

Recomendaciones de actualización

Actualice el SDK de Java de SchedulerX directamente a la versión más reciente, que es la 1.13.5. No necesita detener ni modificar los trabajos de programación existentes antes de actualizar. El SDK se integra en su aplicación de negocio, por lo que debe ejecutar pruebas de integración completas después de la actualización para detectar posibles conflictos de JAR.

Impacto del desuso de versiones

La consola muestra el estado del ciclo de vida de la versión del cliente del SDK en páginas como Application Management y Job Management:

Estado

Descripción

Stable**

Es la versión recomendada actual. Ofrece compromisos completos de SLA y soporte técnico.

Expired**

La versión caducó. Los trabajos de programación existentes siguen ejecutándose con normalidad, pero no aplica ningún compromiso de SLA. Actualice lo antes posible.

Deprecated**

La versión está obsoleta. Los trabajos de programación existentes siguen ejecutándose con normalidad, pero no aplica ningún compromiso de SLA. Para obtener soporte técnico, primero actualice a la versión más reciente. Actualice de inmediato.

Nota

Una versión en estado Expired** o Deprecated** no interrumpe los trabajos de programación que ya se están ejecutando, pero no ofrece garantía de SLA ni soporte técnico. Actualice el SDK a una versión Stable** a tiempo.

Consulta de versiones compatibles

Antes de actualizar, revise las tablas de historial de versiones que aparecen a continuación en este tema. Cada entrada describe las funciones, correcciones y notas de compatibilidad de una versión, de modo que pueda elegir una versión compatible adecuada como destino de actualización.

2026

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.13.5

Nueva función

Las tareas second_delay ahora admiten un apagado controlado.

Las tareas de script ahora admiten la transferencia de datos ascendentes y descendentes entre nodos del flujo de trabajo.

20 de marzo de 2026

Ninguna

1.13.4

Optimización

Optimiza la recopilación de CPU en el modo de aplicación K8s para ser compatible con el modo cgroup v2.

13 de febrero de 2026

Ninguna

1.13.3

Optimización

Mejora la compatibilidad de las tareas de Spring con Spring 7.x.

15 de enero de 2026

Ninguna

2025

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.13.1

Problema corregido

  • Se corrigió el registro prematuro de latidos en contextos padre-hijo de Spring.

  • Se corrigió la detención inesperada de las tareas Map durante una actualización del SDK desde una versión anterior.

28 de julio de 2025

Ninguna

1.13.0

Nueva función

Se añadió compatibilidad con el cifrado de enlace para proteger los datos confidenciales en tránsito entre el cliente y el servidor en aplicaciones de Professional Edition.

18 de junio de 2025

Ninguna

1.12.7

Optimización

  • Se refactorizó la lógica de marcadores de posición para las tareas de script y así corregir los errores de reemplazo causados por conflictos de Spring.

  • Se actualizó la versión de Spring a 5.3.31 para corregir una vulnerabilidad de seguridad.

29 de mayo de 2025

Ninguna

Problema corregido

  • Se corrigió un problema donde la subtarea 0 de las tareas de difusión y de las tareas fragmentadas no admitía el reintento automático tras un error.

  • Se corrigió un problema donde context proporcionaba un valor incorrecto de triggerType durante la reejecución manual de un trabajo MapReduce visual.

Ninguna

1.12.5

Optimización

Se mejoró la compatibilidad de las tareas de Spring cuando otros componentes implementan TaskScheduler.

8 de febrero de 2025

Ninguna

1.12.3

Nueva función

  • Se añadió compatibilidad para configurar el directorio de registros del SDK.

    • Agregue -Dschedulerx.log.path=<log_root_path> al comando de inicio. La ruta final del registro es {schedulerx.log.path}/logs/schedulerx.

  • Se añadió compatibilidad para anular la configuración de logback del SDK y exportar registros a sus propios logstores.

    • La configuración de Simple Log Service le permite escribir registros en su propio logstore.

      Para Logback, consulte Logback Appender.

      Para Log4j2, consulte Log4j Appender.

3 de enero de 2025

Ninguna

Optimización

  • Se mejoró la compatibilidad de las tareas de Spring con Spring 6.x.

  • Se corrigió una excepción H2 DriverClass NotFound provocada por la falta de configuración de la clase de controlador en una conexión JDBC de negocio.

  • Se corrigió una condición de carrera en la comprobación de estado de las tareas Map que provocaba errores en dichas tareas.

2024

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.12.2

Optimización

  • Se corrigió una vulnerabilidad de seguridad en los trabajos MapReduce visuales.

  • Se corrigieron vulnerabilidades de seguridad en algunas API de Akka.

20 de noviembre de 2024

Ninguna

1.12.1

Nueva función

  • Los trabajos de agente HTTP ahora admiten un tamaño de pool de hilos personalizado.

  • Se añadió compatibilidad para personalizar el logger de la salida de registros de SchedulerX.

  • Se introdujo la anotación @SchedulerX, que funciona junto con la anotación @Scheduled de Spring y permite que SchedulerX gestione algunos trabajos programados de Spring.

12 de octubre de 2024

Ninguna

Optimización

  • Se eliminó el paquete fastjson para resolver una vulnerabilidad de seguridad.

Ninguna

1.11.5

Optimización

  • Se optimizó la salida de registros de SLS.

  • Se corrigió un problema donde el reporte de latidos se veía afectado por errores de lectura de configuración en varios grupos de aplicaciones.

  • Se redujo la cantidad de reintentos tolerantes a fallos para las excepciones de tiempo de espera de latido.

17 de junio de 2024

Ninguna

1.11.4

Nueva función

Se añadió compatibilidad para obtener el identificador del flujo de trabajo desde JobContext.

20 de marzo de 2024

JobContext parameters

Optimización

  • Se redujo el tamaño del SDK al eliminar dependencias no utilizadas.

  • Se eliminó el archivo Log4j2.xml no utilizado del SDK para evitar conflictos de configuración de registros.

Ninguna

1.11.1

Nueva función

Se añadió compatibilidad para obtener los parámetros del trabajo desde variables de entorno.

20 de febrero de 2024

Ninguna

Nueva función

Se añadió compatibilidad con el aislamiento de aplicación.

Ninguna

Problema corregido

  • Se corrigió una vulnerabilidad de seguridad en Netty.

  • Se corrigió una vulnerabilidad de seguridad en Logback.

  • Se corrigió un problema donde los registros del framework de SchedulerX no se mostraban debido a conflictos de registros.

Ninguna

1.10.14

Nueva función

Se añadió compatibilidad con el apagado controlado. Las aplicaciones esperan a que todos los trabajos en ejecución terminen antes de apagarse, de modo que las versiones y los reinicios se completen sin interrupciones del servicio.

2 de enero de 2024

Graceful shutdown for scheduled jobs

Nueva función

Se añadió compatibilidad para configurar la tasa de distribución de las subtareas.

Ninguna

Nueva función

Se añadió compatibilidad para configurar un nombre de usuario y una contraseña.

  • spring.schedulerx2.h2DatabaseUser: establezca el usuario de la base de datos H2 integrada.

  • spring.schedulerx2.h2DatabasePassword: especifique la contraseña de la base de datos H2 integrada.

Connect a Spring Boot application to SchedulerX

Optimización

Se añadió compatibilidad con el aislamiento por grupo de aplicaciones.

Ninguna

Optimización

Se añadió compatibilidad con la distribución ordenada por dirección IP del worker.

Ninguna

Optimización

  • Se añadió compatibilidad con versiones anteriores de Spring 4.

  • Los métodos programados en los trabajos de Spring ahora admiten cualquier tipo de retorno.

Spring jobs

Optimización

  • Evita que el contenedor de Spring cree hilos de latido duplicados al reinicializarse.

  • Se añadió compatibilidad con el reinicio automático de actores de Akka si finalizan de forma inesperada.

Ninguna

Problema corregido

  • Se corrigió un problema donde Spring devolvía una excepción de inmediato si no lograba leer un bean Processor.

  • Se corrigió un problema introducido en la versión 1.10.x donde los trabajos Map se quedaban bloqueados.

  • Se corrigió un problema que impedía finalizar una instancia de trabajo después de que fallara la ejecución de preProcess en un trabajo de difusión.

  • Se corrigió un problema donde los hilos residuales activaban alertas de tiempo de espera de ejecución tras errores de instancia.

  • Se corrigió un problema en el modo de pool de hilos compartido donde un trabajo podía bloquearse por pérdida de estado poco después del inicio de la aplicación.

  • Se corrigió un problema donde la carga de configuración fallaba si varios grupos de aplicaciones o valores de appKey contenían caracteres especiales.

  • Se corrigió un problema donde los trabajos MapReduce visuales no podían usar las funciones de Professional Edition.

Ninguna

2023

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.9.6

Nueva función

Se añadió compatibilidad con plantillas estándar y personalizadas.

  • Plantillas estándar: puede modificar la imagen y la política de extracción de imágenes.

  • Plantillas personalizadas: son compatibles con los recursos nativos de Kubernetes. Para usar esta función, actualice schedulerx2-plugin-kubernetes a la versión 1.0.5 o posterior.

4 de julio de 2023

Ninguna

Nueva función

Ahora puede distribuir trabajos map desde una posición inicial aleatoria. Para habilitarlo, establezca spring.schedulerx2.mapMasterDispatchRandom=true. El valor predeterminado es false.

Ninguna

Nueva función

Los trabajos Shell ahora admiten parámetros de sistema integrados comunes.

  • schedule.timestamp (la hora programada para el trabajo)

  • data.timestamp (la marca de tiempo de datos del trabajo)

Ninguna

1.8.13

Nueva función

Se ajustó el modelo de hilos de ejecución.

  • Se cambió el modelo al modo de pool de hilos no compartido.

  • Los siguientes parámetros están disponibles para el modo de pool de hilos compartido:

    • spring.schedulerx2.shareContainerPool=true: habilite el pool de hilos compartido.

    • spring.schedulerx2.sharePoolSize=32: el tamaño global del pool de hilos compartido. Valor predeterminado: 64.

    • spring.schedulerx2.sharePoolQueueSize=20480: el tamaño de la cola del pool de hilos compartido. Valor predeterminado: Integer.MAX_VALUE.

8 de septiembre de 2023

Ninguna

Nueva función

Se añadieron los siguientes parámetros:

  • spring.schedulerx2.broadcastMasterExecEnable=false: determina si el nodo maestro participa en la ejecución de un trabajo de difusión. Valor predeterminado: true.

  • spring.schedulerx2.broadcastDispatchRetryTimes=5: el número de intentos de reintento para distribuir un trabajo de difusión.

Ninguna

Optimización

Se optimizó el rendimiento de los trabajos map durante despliegues y reducciones de escala masivas de aplicaciones.

Ninguna

Optimización

Se optimizó el reporte de latidos durante el inicio de la aplicación para evitar que un arranque lento del contenedor provoque tiempos de procesamiento prolongados en los trabajos.

Ninguna

Problema corregido

  • Se corrigió un problema donde los trabajos se rechazaban tras ejecutarse durante mucho tiempo en el modo de pool de hilos compartido.

  • Se corrigió un problema que ocasionalmente generaba registros de puntero nulo durante el reporte de estado de los trabajos.

  • Se corrigió un problema en versiones posteriores a 1.7.x donde la cantidad de hilos de un trabajo de difusión aumentaba continuamente.

  • Se corrigió una fuga de recursos de memoria en el modo de pool de hilos compartido.

  • Se corrigió un problema donde los objetos de proxy dinámico no podían ejecutar la operación Reduce.

  • Se corrigió un problema donde los acuses de recibo de los trabajos de nivel de segundo se perdían durante el proceso de fusión.

  • Se corrigió un problema donde Diamond no lograba leer los endpoints del entorno.

  • Se corrigió un problema de tiempos de espera de latido excesivamente largos al conectarse a una nube pública.

  • Se corrigió un problema donde se activaban alertas de formato de registro para log4j.

  • Se corrigió un problema donde un trabajo independiente se bloqueaba si ocurría una excepción de distribución.

  • Se corrigió una incompatibilidad con versiones anteriores en el modo de configuración ClassName:BeanId.

  • Se corrigió el límite máximo de tamaño de archivo para los registros independientes de Logback.

Ninguna

2022

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.7.10

Nueva función

  • Se añadió compatibilidad con trabajos programados nativos de Spring.

  • Se añadió compatibilidad con la integración de Tracing Analysis.

30 de agosto de 2022

Optimización

Se mejoró la capacidad de respuesta de los agentes durante el apagado.

Ninguna

Problema corregido

  • Se corrigió un error de falta de memoria causado por grandes volúmenes de registros de Simple Log Service provenientes de trabajos de alta frecuencia.

  • Se corrigió un problema de latencia que ocurría cuando una gran cantidad de trabajos de nivel de segundo se ejecutaban de forma concurrente.

Ninguna

1.6.1

Problema corregido

Se corrigió el alto uso de CPU provocado por los hilos de detección de difusión de los trabajos de nivel de segundo.

3 de agosto de 2022

Ninguna

1.6.0

Nueva función

Se añadió compatibilidad con la programación de trabajos de Kubernetes.

24 de junio de 2022

Ninguna

Optimización

  • Se hicieron compatibles las clases Processor con las configuraciones de proxy de Spring AOP.

  • Se mejoró el contenido de los mensajes de registro ERROR que aparecían ocasionalmente en el temporizador de monitoreo de workers disponibles.

  • Se añadió compatibilidad con la recopilación de registros para los trabajos second_delay.

Ninguna

1.5.1.1

Nueva función

Se añadió compatibilidad para habilitar o deshabilitar Simple Log Service de forma dinámica.

19 de abril de 2022

Ninguna

Problema corregido

  • Se corrigió un problema de incompatibilidad entre la versión 1.5.0.x y Spring Boot 2.0.3.

  • Se corrigió un posible error de inicialización del bean JobSyncService en la versión 1.5.0.x.

1.5.0.2

Nueva función

Se añadió compatibilidad con definiciones declarativas de trabajos en Spring Boot. Puede declarar espacios de nombres, aplicaciones, trabajos y alertas en archivos de configuración para simplificar la gestión de trabajos. Estos archivos se pueden modificar para iniciar una aplicación en cualquier entorno con un solo clic.

1 de abril de 2022

Spring Cloud Alibaba scheduled jobs

Los trabajos MapReduce visualizados (antes llamados computación paralela) permiten consultar listas, registros y reejecuciones a nivel de tarea. También puede agregar etiquetas personalizadas a las tareas y buscar tareas por etiqueta.

Enterprise-grade distributed batch processing

1.4.2

Nueva función

SchedulerX 2.0 se integra con Simple Log Service. Sin modificar su código, puede agregar una configuración de Log4j o Logback para consultar los registros de negocio de cada ejecución de trabajo (incluidas las tareas distribuidas) en la consola.

7 de marzo de 2022

How to integrate Simple Log Service

Puede consultar la pila de ejecución de un trabajo directamente en la consola para solucionar trabajos bloqueados. Para usar esta función, actualice su agente a la versión 1.4.0 o posterior.

Ninguna

Se añadió compatibilidad con la integración de ejecutores desarrollados para ElasticJob.

1.3.4

Nueva función

  • Se añadió compatibilidad con trabajos de DataWorks.

  • Se añadió el plugin schedulerx2-plugin-xxljob para ser compatible con la interfaz XxlJob.

6 de enero de 2022

2021

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.3.2

Optimización

Se actualizó la dependencia predeterminada de Log4j 2 a la versión 2.15.0.

15 de diciembre de 2021

Ninguna

1.3.0.3

Nueva función

Mejora los trabajos independientes de nivel de segundo. Ahora un bucle independiente de nivel de segundo se puede distribuir y alternar entre distintas instancias. Para una aplicación Spring Boot, establezca el siguiente parámetro: spring.schedulerx2.enableSecondDelayStandaloneDispatch=true (valor predeterminado: false).

26 de noviembre de 2021

Ninguna

Optimización

Se mejoró la capacidad de respuesta del agente durante el apagado.

Ninguna

Problema corregido

  • Se corrigió un problema que provocaba que el latido de un worker se reportara a un único servicio programado cuando su agente estaba conectado a varios grupos de instancias.

  • Se corrigieron posibles interrupciones de hilos y excepciones de puntero nulo en los trabajos de segundo retardo.

  • Se corrigió un problema de compatibilidad que provocaba que los trabajos se suspendieran y agotaran su tiempo de espera cuando el agente de SchedulerX se integraba con Spring Cloud.

  • Se evitó que los trabajos de difusión se interrumpieran durante la ejecución concurrente.

  • Se corrigió un problema donde la lista de workers no se actualizaba periódicamente durante la ejecución de trabajos de segundo retardo.

  • Se corrigió un problema donde el hilo de escaneo de un trabajo de difusión de segundo retardo no finalizaba al recibir una instrucción de detención.

  • Se corrigió un problema donde los trabajos de difusión de segundo retardo ocasionalmente se suspendían durante un despliegue por lotes masivo de workers.

Ninguna

1.2.9.1

Problema corregido

Se corrigió un problema de compatibilidad que provocaba que los trabajos se suspendieran y agotaran su tiempo de espera cuando un worker se integraba con Spring Cloud.

30 de agosto de 2021

Ninguna

1.2.9

Nueva función

Mejora los trabajos independientes de nivel de segundo. Ahora un bucle independiente de nivel de segundo se puede distribuir y alternar entre distintas instancias. Establezca el parámetro spring.schedulerx2.enableSecondDelayStandaloneDispatch=true (valor predeterminado: false).

27 de agosto de 2021

Ninguna

Problema corregido

Se corrigieron problemas donde los trabajos de difusión se interrumpían durante la ejecución concurrente y la lista de workers no se actualizaba.

Ninguna

1.2.8.3

Problema corregido

Se corrigió un problema donde el hilo de escaneo de un trabajo de difusión de segundo retardo no finalizaba al recibir una instrucción de detención.

13 de agosto de 2021

Ninguna

1.2.8.2

Problema corregido

Se corrigió un problema donde los trabajos de difusión de segundo retardo ocasionalmente se suspendían durante un despliegue por lotes masivo de workers.

6 de agosto de 2021

Ninguna

1.2.8

Nueva función

  • Trabajos de difusión mejorados: ahora puede usar postProcess para obtener el estado de todos los workers mediante JobContext.getTaskStatuses() y sus resultados de ejecución mediante JobContext.getTaskResults().

  • Se añadió compatibilidad con fragmentación para trabajos de difusión: ahora puede obtener shardingNum y shardingId desde JobContext para procesar datos distribuidos según el índice del worker.

  • Modo de fragmentación mejorado: el total de fragmentos ahora está disponible en shardingNum dentro de JobContext.

23 de junio de 2021

Ninguna

1.2.7

Nueva función

Se añadió un interruptor para deshabilitar la función de failover.

28 de abril de 2021

Ninguna

Problema corregido

  • Se corrigió una fuga de sockets provocada por un error en la comprobación de estado del latido.

  • Se corrigió un problema donde el worker maestro de MapReduce activaba failovers innecesarios al manejar una gran cantidad de subtareas.

Ninguna

1.2.5.2

Nueva función

Los trabajos de segundo retardo ahora admiten intervalos a nivel de milisegundo.

8 de abril de 2021

Ninguna

Optimización

  • Se optimizó el modelo MapReduce: la tarea raíz ahora se ejecuta en el worker maestro, lo que simplifica la solución de problemas.

  • Se eliminó la dependencia obligatoria de Log4j 2. Ahora puede excluir las dependencias de Log4j y Log4j 2 cuando use Logback.

Ninguna

1.2.4.3

Nueva función

  • Se añadió el reporte de progreso para los trabajos de difusión durante la ejecución.

  • Se añadió un interruptor para deshabilitar el registro de latidos.

21 de enero de 2021

Ninguna

Problema corregido

  • Se ajustó el intervalo de latido a 10 segundos.

  • Se corrigió un problema crítico que provocaba que los trabajos de difusión se suspendieran.

Ninguna

2020

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.2.3.1

Optimización

Se optimizó el agente para evitar errores de programación causados por problemas de conexión persistente bajo cargas altas.

16 de diciembre de 2020

Ninguna

1.2.2.2

Nueva función

  • Puede recopilar el uso real de CPU desde dentro de un contenedor. Esto requiere configuración adicional. Por ejemplo, para un starter: spring.schedulerx2.enableCgroupMetrics=true,spring.schedulerx2.cgroupPathPrefix=/sys/fs/cgroup/cpu/ (el parámetro cgroupPathPrefix es opcional. Si la ruta "/sys/fs/cgroup/cpu/" existe en el contenedor, no necesita configurar este parámetro. De lo contrario, cambie el valor a la ruta real de cgroup).

  • Se admiten etiquetas. Puede agregar etiquetas personalizadas cuando se inicia un agente. Por ejemplo, con un starter: spring.schedulerx2.labels=xxx. En la gestión de tareas, puede especificar máquinas para sus tareas, como ejecutarlas en instancias con una etiqueta específica. Esto resulta útil en escenarios como lanzamientos canary y gestión basada en celdas.

10 de diciembre de 2020

Ninguna

Optimización

  • Se aislaron los hilos principales de latido y de Akka del agente. Esto evita que una carga de negocio alta afecte las sondas de latido.

  • Se eliminó h2 de shade para evitar posibles errores al cargar el controlador de MySQL.

Ninguna

1.2.1.2

Nueva función

  • Se introdujo un ContainerPool compartido. Todos los trabajos de un agente ahora pueden compartir un único pool de hilos, lo que mejora significativamente el rendimiento y la estabilidad del agente al programar una gran cantidad de trabajos concurrentes.

  • Se aplicó shading a la biblioteca de Scala para resolver posibles conflictos de dependencias.

  • Ahora admite la autenticación AppKey en la nube pública.

  • Se mejoró el modelo MapReduce. Ahora puede configurar si el método Reduce se ejecuta solo después de que todas las tareas se completen correctamente.

  • El agente de SchedulerX admite el uso de -Dschedulerx.appKey para establecer el valor de appKey.

20 de octubre de 2020

Ninguna

Optimización

Se optimizó el pool de hilos Netty del agente.

Ninguna

Problema corregido

  • Se corrigió un problema donde los trabajos de difusión podían bloquearse.

  • Se corrigió un problema donde el AccessKey ID o el AccessKey secret de Simple Log Service (SLS) podían filtrarse.

Ninguna

1.2.0.2

Nueva función

  • Ahora admite más de 100,000 trabajos por aplicación en la nube pública.

  • Se añadió un interruptor de registro para el agente, habilitado de forma predeterminada.

  • Ahora puede establecer el estado del trabajo al crearlo con OpenAPI.

  • Se eliminaron las dependencias diamond-client, logger.API y Log4j.

19 de agosto de 2020

Ninguna

Problema corregido

  • Se corrigió un problema donde el agente se desconectaba del servidor durante simulacros de corte de red.

  • Se corrigió un problema donde las aplicaciones en Enterprise Distributed Application Service (EDAS) no podían leer el AccessKey secret.

Ninguna

1.1.4.RELEASE

Nueva función

  • Ahora admite espacios de nombres autogestionados.

  • Ahora admite la inicialización de varias instancias de SchedulerxWorker.

  • Se mejoró el modelo MapReduce:

  • El método Reduce se puede ejecutar incluso si algunas tareas fallan.

  • Puede usar JobContext.getTaskStatuses para determinar el estado de cada tarea. En la estructura Map<Long, TaskStatus>, la clave es el TaskId y el valor es el estado de la tarea.

15 de mayo de 2020

Ninguna

Problema corregido

  • ProcessResult provoca un puntero nulo si result es null.

  • Una suspensión en thread-dispatcher-delivery provoca que las tareas se bloqueen.

Ninguna

1.1.2.RELEASE

Nueva función

shade protobuf and netty from AccessKey IDka, lo que resuelve más del 90 % de los conflictos de paquetes JAR.

10 de febrero de 2020

Ninguna

Optimización

Se limitaron los AppKeys a un único grupo.

Ninguna

2019

Versión

Tipo de cambio

Descripción

Fecha de publicación

Referencias

1.1.0

Nueva función

  • Se añadió compatibilidad con un modelo de fragmentación multilenguaje, similar a elastic-job.

  • OpenAPI para crear grupos ahora puede devolver un AppKey.

  • Ahora puede reejecutar instancias de trabajo que estén en estado exitoso. En un flujo de trabajo, reejecutar una instancia de trabajo también reejecuta sus trabajos descendentes.

17 de diciembre de 2019

Ninguna

Optimización

  • Se optimizó el rendimiento del lado del servidor al cambiar la comunicación con el cliente de síncrona a asíncrona y al optimizar la configuración predeterminada del dispatcher de Akka.

  • Se triplicó el rendimiento de los latidos al usar el agente de SchedulerX v1.1.0.

  • Se rediseñó la página Job Management en la consola para mostrar más información.

Ninguna

Problema corregido

  • Se corrigió un problema donde las tareas globales podían no surtir efecto en el modelo pull distribuido.

  • Se corrigió un problema donde el agente de SchedulerX aún podía fallar al iniciarse en un entorno de celda aislada si no se configuraba ningún dominio.

Ninguna

1.0.9

Nueva función

  • Se añadió la configuración BlockAppStart, que especifica si se debe bloquear el inicio de la aplicación cuando SchedulerX no logra iniciarse. El valor predeterminado es true.

  • Se añadió una operación de API para consultar el estado de un flujo de trabajo. El objeto de solicitud es GetWorkflowInstanceRequest.

  • Se añadió el campo jobName a JobContext. Ahora los usuarios pueden recuperar el nombre del trabajo en tiempo de ejecución.

28 de noviembre de 2019

Ninguna

Problema corregido

  • Se corrigió un problema donde la deserialización Hessian devolvía 0 para BigDecimal.

  • Se corrigió un error que ocurría durante la deserialización Hessian de LocalDateTime.

  • Se corrigió un problema donde los trabajos fijados distribuían tareas a máquinas no especificadas si el trabajo superaba cierto tiempo de ejecución.

  • La llamada del cliente a springContext.getBean genera una excepción AnnotationConfigApplicationContext has not been refreshed yet.

  • Se corrigió un problema donde una configuración inválida de la clase de implementación del trabajo podía detener ServletWebServer de Spring Boot, lo que provocaba el cierre del servicio web mientras el proceso de negocio seguía ejecutándose.

  • Se corrigió un problema donde un trabajo se bloqueaba si se establecía la variable de inicio del sistema user.dir='/'.

  • El cliente genera una excepción AnnotationConfigApplicationContext has been closed already al llamar a springContext.getBean.

  • Se corrigió un problema poco frecuente donde el agente de SchedulerX generaba identificadores de worker duplicados, lo que provocaba que los trabajos se activaran en máquinas fuera de la aplicación prevista.

  • Las aplicaciones Spring no pueden personalizar el class loader.

  • Se corrigió un problema donde el contador de trabajos de ejecución por difusión mostraba un valor incorrecto para los trabajos de segundo retardo.

  • Se corrigió un problema donde jobContext.getScheduleTime no se actualizaba en cada ciclo de un trabajo de segundo retardo.

Ninguna

1.0.8

Nueva función

  • Importante: se refactorizó la interfaz JobProcessor.postProcess para devolver un valor ProcessResult. Debe actualizar su código si usa la interfaz postProcess.

  • Se mejoró la ejecución por difusión. BroadcastJobProcessor ahora admite preProcess y postProcess. El método preProcess se ejecuta una vez antes de que el método process se ejecute en todas las máquinas, y el método postProcess se ejecuta una vez después de que el método process termine en todas las máquinas.

  • Puede usar JobContext.getTaskAttempt para recuperar el conteo de reintentos de la subtarea actual.

  • El agente de SchedulerX ahora admite puertos de escucha personalizados mediante métodos como SchedulerxWorker.setPort.

  • Los trabajos Java ahora pueden implementar JobProcessor y ya no es obligatorio extender JavaProcessor.

6 de agosto de 2019

Ninguna

Problema corregido

  • Se corrigió un bug donde las subtareas de TaskId=1 no admitían el reintento automático.

  • Se corrigió un problema donde no se mostraba la causa del error cuando la tarea raíz de una tarea distribuida fallaba.

  • Se corrigió un problema que impedía reintentar tareas desde la lista de tareas de un trabajo de computación paralela.

Ninguna

1.0.6-compatible

Optimización

Se publicó una versión compatible con la interfaz schedulerx1.0(DTS). Esta versión solo admite una dependencia del paquete schedulerx-worker, no de schedulerx-client y schedulerx-worker al mismo tiempo. Todos los trabajos de Data Transmission Service (DTS) deben migrarse a SchedulerX 2.0.

2 de julio de 2019

Ninguna

1.0.6

Nueva función

  • Se aplicó shading a varios paquetes, incluidos aliyun-log, commons-validator, gson, fastjson, guava, commons-collections.

  • Si devuelve ProcessResult(false, errorMsg), el valor de errorMsg también se muestra en el registro del frontend.

Optimización

  • Se mejoró el rendimiento de at-least-once-delivery.

  • Se optimizó la entrega de mensajes en escenarios de alta carga para evitar que los mensajes repetidos bloquearan los trabajos de segundo retardo o interrumpieran los hilos de la aplicación.

2 de julio de 2019

Nota

En esta versión, el número de versión que se muestra en la consola es 1.0.4, lo cual difiere del número de versión de Maven.

Problema corregido

  • Se corrigió un problema donde los trabajos de ejecución por difusión se bloqueaban.

  • Se corrigió un problema donde los trabajos de segundo retardo se bloqueaban.

  • at-least-once-delivery puede provocar que una subtarea se reintente de forma infinita.

  • Se corrigió un problema donde el agente de SchedulerX no lograba iniciarse si logcollector no se inicializaba correctamente.

  • Se corrigió un problema que impedía reprogramar un flujo de trabajo después de que sus instancias de trabajo se eliminaran de la base de datos.

  • Se corrigió un problema que impedía finalizar aplicaciones basadas en Spring con el comando kill.

1.0.3

Nueva función

  • En el modelo MapReduce, el método Reduce ahora puede procesar los resultados de todas las tareas.

  • El modelo distribuido ahora admite un modelo pull. Este modelo resuelve los cuellos de botella de rendimiento en una sola máquina y admite el escalado dinámico para extraer tareas.

  • El modelo pull ahora admite un límite global de concurrencia de tareas para aplicar regulación.

  • Se añadió el campo wfInstanceId a JobContext.

  • El agente de SchedulerX ahora genera una excepción y bloquea el inicio de la JVM si el agente no logra iniciarse. Esto ayuda a identificar problemas con mayor anticipación.

  • El agente de SchedulerX ahora imprime las versiones y rutas de los JAR dependientes de Maven al iniciarse, lo que facilita la solución de conflictos de paquetes.

  • Se añadió una dimensión de cola a la vista de detalles de tareas en el modelo distribuido. Ahora puede consultar la cola de tareas almacenadas en caché en cada máquina.

6 de junio de 2019

Ninguna

Problema corregido

  • Se corrigió un problema donde los workers puestos en cuarentena por error no podían recuperarse automáticamente sin reiniciar el agente de SchedulerX.

  • Se corrigió un problema donde la vista de detalles de tareas en el modelo distribuido no mostraba con precisión la cantidad de tareas en ejecución en cada máquina.

  • Se corrigió un problema donde el servidor no limpiaba los recursos de los nodos esclavos cuando el nodo maestro fallaba, lo que provocaba fugas de memoria.

Ninguna

1.0.0

Nueva función

  • Admite expresiones crontab y fixed_rate para la programación periódica.

  • Se añadió compatibilidad con la programación de flujos de trabajo para la orquestación de trabajos.

  • Admite la expresión second_delay para la programación a nivel de segundo.

  • Se añadió compatibilidad con tipos de trabajo Java, Shell, Python y Go.

  • Se añadió compatibilidad con ejecución independiente, ejecución por difusión, computación paralela, cuadrícula de memoria y computación en cuadrícula.

  • Se añadió compatibilidad con los modelos de programación distribuida Map y MapReduce.

  • Se añadió compatibilidad con reintentos automáticos tras errores, tanto a nivel de instancia de trabajo como de tarea. Esta función está deshabilitada de forma predeterminada.

  • Se añadió compatibilidad con tiempo de datos y backfill.

30 de abril de 2019

Ninguna