Todos los productos
Search
Centro de documentos

SchedulerX:SDK de Java

Última actualización: Sep 06, 2026

Estas notas de la versión detallan las nuevas funciones, las mejoras y los problemas corregidos en cada versión del SDK de SchedulerX para Java.

2026

Versión

Tipo de cambio

Descripción

Fecha de lanzamiento

Documentación relacionada

1.14.2

nueva función

Ahora es posible obtener los parámetros del flujo de trabajo desde JobContext.

5 de agosto de 2026

Ninguna

nueva función

Las tareas de script ahora admiten la finalización forzada.

nueva función

clientInfo.log ahora imprime la salida completa del script, lo que permite recopilar registros mediante Simple Log Service (SLS).

1.13.5

nueva función

Las tareas second_delay ahora admiten el apagado controlado.

20 de marzo de 2026

Ninguna

nueva función

Las tareas de script ahora permiten pasar datos entre nodos ascendentes y descendentes dentro de un flujo de trabajo.

1.13.4

optimización

La recopilación de CPU en el modo de aplicación K8s ahora es compatible con cgroup v2.

13 de febrero de 2026

Ninguna

1.13.3

optimización

Las tareas de Spring ahora son compatibles con Spring 7.x.

15 de enero de 2026

Ninguna

2025

Versión

Tipo de cambio

Descripción

Fecha de lanzamiento

Documentación relacionada

1.13.1

correcciones de errores

  • Se corrigió el reporte prematuro del registro de heartbeat en escenarios con contenedores padre e hijo de Spring.

  • Se corrigieron las tareas map que se detenían de forma inesperada al actualizar el SDK.

28 de julio de 2025

Ninguna

1.13.0

nueva función

Se agregó el cifrado de enlace. En las aplicaciones de Professional Edition, esta función cifra los datos confidenciales durante la comunicación entre el servidor y el cliente.

18 de junio de 2025

Ninguna

1.12.7

mejora

  • Se refactorizó la lógica de marcadores de posición de las tareas de script para resolver los fallos de reemplazo provocados por conflictos con Spring.

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

29 de mayo de 2025

Ninguna

correcciones de errores

  • Se habilitaron los reintentos automáticos para las subtareas con errores en el shard 0 de las tareas broadcast y sharded.

  • Se corrigió el valor de triggerType obtenido del context durante la reejecución manual de tareas visuales de MapReduce.

Ninguna

1.12.5

mejora

Se mejoró la compatibilidad de las tareas de Spring en escenarios donde otros componentes también implementan TaskScheduler.

8 de febrero de 2025

Ninguna

1.12.3

nueva función

  • Se habilitó la configuración del directorio de registros del SDK.

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

  • Se habilitó la anulación de las configuraciones predeterminadas de logback y la exportación de los registros del SDK a su logstore de Log Service (SLS).

3 de enero de 2025

Ninguna

mejora

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

  • Se evitó la excepción H2 DriverClass NotFound en aplicaciones sin clase de controlador JDBC configurada.

  • Se corrigió un problema de concurrencia en la comprobación del estado de las tareas map que provocaba fallos en dichas tareas.

2024

Versión

Tipo de cambio

Descripción

Fecha de lanzamiento

Documentación relacionada

1.12.2

Mejora

  • Se corrigió una vulnerabilidad de seguridad en las tareas visuales de MapReduce.

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

20 de noviembre de 2024

Ninguna

1.12.1

Nueva función

  • Se agregó compatibilidad para personalizar el tamaño del pool de hilos en las tareas de agente HTTP.

  • Se agregó compatibilidad con registradores personalizados para la salida de registros de SchedulerX.

  • Se agregó la anotación @SchedulerX, que funciona junto con la anotación @Scheduled de Spring para asumir el control de algunas tareas programadas de Spring.

12 de octubre de 2024

Ninguna

Mejora

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

Ninguna

1.11.5

Mejora

  • Se mejoró la salida de registros de SLS.

  • Se corrigió un problema donde los errores de lectura de configuración en varios grupos de aplicaciones afectaban el reporte de heartbeat.

  • Se redujo la cantidad de reintentos tolerantes a fallos ante excepciones de tiempo de espera de heartbeat.

17 de junio de 2024

Ninguna

1.11.4

Nueva función

JobContext ahora proporciona el identificador del flujo de trabajo.

20 de marzo de 2024

JobContext parameter description

Mejora

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

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

Ninguna

1.11.1

Nueva función

Se agregó compatibilidad para obtener los parámetros de tarea desde variables de entorno.

20 de febrero de 2024

Ninguna

Nueva función

Se agregó compatibilidad con el aislamiento de aplicaciones.

Ninguna

Corrección de error

  • Se corrigió una vulnerabilidad de seguridad en Netty.

  • Se corrigió una vulnerabilidad de seguridad en Logback.

  • Se corrigió un problema donde los conflictos de registros impedían mostrar los registros del framework de SchedulerX.

Ninguna

1.10.14

Nueva función

Se agregó compatibilidad con el apagado controlado. Ahora la aplicación espera a que terminen las tareas en ejecución antes de apagarse, lo que garantiza cero impacto en el negocio durante los lanzamientos y reinicios.

2 de enero de 2024

How to gracefully shut down a task scheduling application

Nueva función

Se agregó compatibilidad para configurar la tasa de envío de subtareas.

Ninguna

Nueva función

Se agregó compatibilidad para configurar un nombre de usuario y una contraseña en la base de datos H2 integrada.

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

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

Integrate SchedulerX with Spring Boot applications

Mejora

Se agregó compatibilidad con el aislamiento por grupo de aplicaciones.

Ninguna

Mejora

Se agregó compatibilidad para distribuir tareas a workers ordenados por dirección IP.

Ninguna

Mejora

  • Se agregó compatibilidad con versiones anteriores de Spring 4.

  • Los métodos de programación de tareas de Spring ahora admiten cualquier tipo de valor de retorno.

Spring tasks

Mejora

  • Se evitó la creación de hilos de heartbeat duplicados cuando se reinicializa el contenedor de Spring.

  • Se agregó compatibilidad para reiniciar automáticamente los actores de Akka si finalizan de forma inesperada.

Ninguna

Corrección de error

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

  • Se corrigió un problema introducido en la versión 1.10.x que hacía que las tareas Map se bloquearan durante la ejecución.

  • Se corrigió un problema que impedía finalizar una instancia de tarea tras producirse una excepción durante la ejecución de preProcess en una tarea broadcast.

  • Se corrigió un problema donde los hilos residuales generaban alertas de tiempo de espera cuando una instancia de tarea finalizaba de forma inesperada.

  • Se corrigió un problema en el modo de pool de hilos compartido donde a veces se perdía el estado de la tarea, lo que provocaba que las tareas se bloquearan poco después de iniciar la aplicación.

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

  • Se corrigió un problema que dejaba sin disponibilidad las funciones de Professional Edition para la tarea visual de MapReduce.

Ninguna

2023

Versión

Tipo de cambio

Descripción

Fecha de lanzamiento

Documentación relacionada

1.9.6

Nueva función

Se agregó compatibilidad con plantillas estándar y personalizadas.

  • Plantilla estándar: permite modificar la imagen y la directiva de extracción de imágenes.

  • Plantilla personalizada: compatible con contenido nativo de Kubernetes (requiere schedulerx2-plugin-kubernetes 1.0.5 o posterior).

4 de julio de 2023

Ninguna

Nueva función

Se agregó compatibilidad para enviar tareas map desde una posición inicial aleatoria. Habilite esta función con la configuración spring.schedulerx2.mapMasterDispatchRandom=true (valor predeterminado: false).

Ninguna

Nueva función

Las tareas shell ahora admiten parámetros comunes integrados del sistema.

  • schedule.timestamp (hora de ejecución programada)

  • data.timestamp (hora de datos programada)

Ninguna

1.8.13

Nueva función

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

  • Se cambió a un modelo de pool de hilos no compartido.

  • Se agregaron parámetros para el modelo de pool de hilos compartido.

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

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

    • spring.schedulerx2.sharePoolQueueSize: establece 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 agregaron los siguientes parámetros.

  • spring.schedulerx2.broadcastMasterExecEnable: deshabilita la ejecución de tareas broadcast en el nodo maestro cuando se establece en false. Valor predeterminado: true.

  • spring.schedulerx2.broadcastDispatchRetryTimes: establece el número de intentos de reintento para el envío broadcast.

Ninguna

Mejora

Se mejoró el rendimiento de las tareas map durante despliegues de aplicaciones a gran escala y operaciones de reducción de escala.

Ninguna

Mejora

Se optimizó el reporte de heartbeat durante el inicio de la aplicación para evitar que los inicios lentos de contenedores retrasen el procesamiento de tareas.

Ninguna

Correcciones de errores

  • Se corrigió un problema en el modo de pool de hilos compartido que provocaba el rechazo de tareas tras un tiempo de ejecución prolongado.

  • Se corrigió una NullPointerException intermitente en los registros de reporte de estado de tareas.

  • Se corrigió un error introducido después de la versión 1.7.x que hacía crecer indefinidamente el conteo de hilos de las tareas broadcast.

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

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

  • Se corrigió un problema donde las respuestas combinadas podían perderse en tareas de nivel de segundo.

  • Se corrigió un problema donde Diamond no leía correctamente las direcciones de entorno.

  • Se corrigió un problema donde los tiempos de espera de heartbeat eran demasiado largos en la nube pública.

  • Se corrigieron las advertencias de formato de registros en log4j.

  • Se corrigió un problema donde una tarea independiente podía quedar bloqueada si fallaba el envío de tareas.

  • Se corrigió un problema de compatibilidad con el modo de configuración ClassName:BeanId.

  • Se modificó 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 lanzamiento

Documentación relacionada

1.7.10

Nueva función

  • Se agregó compatibilidad con trabajos programados nativos de Spring.

  • Se agregó compatibilidad con el rastreo distribuido.

30 de agosto de 2022

Mejora

Se optimizó el proceso de apagado del cliente para mejorar la velocidad de cierre.

No aplica

Corrección de error

  • Se corrigió un problema de falta de memoria causado por la alta salida de registros hacia SLS en trabajos de alta frecuencia.

  • Se corrigió un problema de latencia cuando se ejecutaban de forma concurrente grandes cantidades de trabajos de nivel de segundo.

No aplica

1.6.1

Corrección de error

Se corrigió el alto uso de CPU en el hilo de detección de los trabajos broadcast de nivel de segundo.

3 de agosto de 2022

No aplica

1.6.0

Nueva función

Se agregó compatibilidad con la programación de trabajos K8s.

24 de junio de 2022

No aplica

Mejora

  • Las clases de controlador Processor ahora son compatibles con los proxies de Spring AOP.

  • Se optimizaron los mensajes de registro ERROR ocasionales del temporizador de monitoreo de workers disponibles.

  • Los trabajos second_delay ahora admiten la recopilación de registros.

No aplica

1.5.1.1

Nueva función

Se agregó la capacidad de habilitar o deshabilitar Log Service de forma dinámica sin necesidad de reiniciar.

19 de abril de 2022

No aplica

Corrección de error

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

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

1.5.0.2

Nueva función

Se agregó compatibilidad con definiciones declarativas de trabajos en Spring Boot. Ahora puede declarar namespaces, aplicaciones, trabajos y alertas en un archivo de configuración, lo que simplifica la gestión de trabajos. Estas declaraciones se pueden modificar para iniciar aplicaciones en cualquier entorno con un solo clic.

1 de abril de 2022

Scheduled jobs in Spring Cloud Alibaba

Los trabajos visuales de MapReduce (antes cómputo paralelo) ahora admiten listas, registros y reejecuciones a nivel de subtarea. También puede definir etiquetas personalizadas para las subtareas y buscarlas por etiqueta.

Enterprise-grade distributed batch processing solution

1.4.2

Nueva función

Log Service para SchedulerX 2.0 ahora permite consultar los registros de negocio de cada ejecución de trabajo (incluidos los trabajos distribuidos) en la consola. Puede habilitar esta función agregando una configuración de Log4j o Logback sin modificar código.

7 de marzo de 2022

Integrate with Log Service

Ahora puede consultar el seguimiento de pila de un trabajo en ejecución directamente en la consola para facilitar la solución de problemas de trabajos bloqueados. Para usar esta función, actualice el cliente a la versión 1.4.0 o posterior.

No aplica

Se agregó compatibilidad con ejecutores ElasticJob.

1.3.4

Nueva función

  • Se agregó compatibilidad con trabajos de DataWorks.

  • Se agregó schedulerx2-plugin-xxljob para admitir la API de Xxl-Job.

6 de enero de 2022

2021

Versión

Tipo de cambio

Descripción

Fecha de lanzamiento

Documentación relacionada

1.3.2

Optimización

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

15 de diciembre de 2021

No aplica

1.3.0.3

Nueva función

Mejora de tareas independientes de nivel de segundo: los trabajos independientes de nivel de segundo se pueden enviar a distintas instancias inactivas para su ejecución. El parámetro de configuración para aplicaciones SpringBoot es el siguiente: spring.schedulerx2.enableSecondDelayStandaloneDispatch=true (el valor predeterminado es false).

26 de noviembre de 2021

No aplica

Optimización

Se redujo el tiempo de apagado del agente.

No aplica

Corrección de error

  • Se corrigió un problema donde un agente conectado a varios grupos de aplicaciones enviaba heartbeats de sus workers en ejecución a un único servicio de programación.

  • Se corrigió un problema donde los trabajos second-delay podían causar interrupciones ocasionales de hilos o excepciones de puntero nulo.

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

  • Se corrigió un problema donde un trabajo broadcast podía interrumpirse durante la ejecución concurrente.

  • Se corrigió un problema donde un trabajo second-delay no actualizaba periódicamente su lista de workers durante la ejecución.

  • Se corrigió un problema donde el hilo de escaneo de un trabajo broadcast second-delay no finalizaba tras ejecutar un comando de detención.

  • Se corrigió un problema donde un trabajo broadcast second-delay podía bloquearse durante el despliegue por lotes de una gran cantidad de workers.

No aplica

1.2.9.1

Corrección de error

Se corrigió un problema donde los trabajos se bloqueaban y superaban el tiempo de espera cuando un worker se integraba con Spring Cloud.

30 de agosto de 2021

No aplica

1.2.9

Nueva función

Mejora de tareas independientes de nivel de segundo: permite enviar trabajos recurrentes independientes de nivel de segundo para su ejecución en distintas instancias. Parámetro de configuración: spring.schedulerx2.enableSecondDelayStandaloneDispatch=true (valor predeterminado: false).

27 de agosto de 2021

No aplica

Corrección de error

Se corrigió un problema donde un trabajo broadcast en ejecución concurrente podía interrumpirse y su lista de workers no se actualizaba.

No aplica

1.2.8.3

Corrección de error

Se corrigió un problema donde el hilo de escaneo de un trabajo broadcast second-delay no finalizaba tras ejecutar un comando de detención.

13 de agosto de 2021

No aplica

1.2.8.2

Corrección de error

Se corrigió un problema donde un trabajo broadcast second-delay podía bloquearse durante el despliegue por lotes de una gran cantidad de workers.

6 de agosto de 2021

No aplica

1.2.8

Nueva función

  • Mejora de trabajos broadcast: el método postProcess puede obtener el estado de ejecución de todas las máquinas, JobContext.getTaskStatuses(), y los resultados de ejecución, JobContext.getTaskResults().

  • Modelo de fragmentación broadcast: una tarea broadcast puede obtener shardingNum y shardingId de JobContext y usar el índice de su máquina para procesar datos de manera distribuida.

  • Mejora del modelo de fragmentación: JobContext puede obtener el número total de fragmentos desde shardingNum.

23 de junio de 2021

No aplica

1.2.7

Nueva función

Se agregó un interruptor para habilitar o deshabilitar la función de failover.

28 de abril de 2021

No aplica

Corrección de error

  • Se corrigió una posible fuga de socket que podía ocurrir cuando fallaba una sonda de heartbeat.

  • Se corrigió un problema donde el maestro de MapTask podía desencadenar failovers innecesarios con frecuencia al manejar una gran cantidad de subtareas.

No aplica

1.2.5.2

Nueva función

Los trabajos second-delay ahora admiten intervalos a nivel de milisegundo.

8 de abril de 2021

No aplica

Optimización

  • Se optimizó el modelo MapReduce: la tarea raíz ahora siempre se ejecuta en el nodo maestro para simplificar la solución de problemas.

  • El agente de SchedulerX ya no depende obligatoriamente de Log4j2. Si usa Logback, puede eliminar las dependencias de Log4j y Log4j2.

No aplica

1.2.4.3

Nueva función

  • Los trabajos broadcast ahora admiten el reporte de progreso durante la ejecución.

  • Se agregó un interruptor para deshabilitar el registro de heartbeats.

21 de enero de 2021

No aplica

Corrección de error

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

  • Se corrigió un problema crítico que podía provocar que los trabajos broadcast se bloquearan.

No aplica

2020

Versión

Tipo de cambio

Descripción

Fecha de lanzamiento

Documentación relacionada

1.2.3.1

Mejora

Mejora la estabilidad bajo alta carga del cliente al evitar fallos de conexión persistente que interrumpen la programación de tareas.

16 de diciembre de 2020

No aplica

1.2.2.2

Nueva función

  • Esta función admite la recopilación del uso real de CPU de un contenedor desde dentro del mismo. Agregue una configuración. Por ejemplo, para un starter: spring.schedulerx2.enableCgroupMetrics=true, spring.schedulerx2.cgroupPathPrefix=/sys/fs/cgroup/cpu/ (opcional; si el contenedor tiene la ruta /sys/fs/cgroup/cpu/, no se requiere configuración. De lo contrario, cambie el valor a la ruta cgroup real).

  • Se admiten etiquetas. Establezca etiquetas personalizadas para un cliente durante el inicio. Por ejemplo, con el starter: spring.schedulerx2.labels=xxx. En la gestión de tareas, asigne tareas para que se ejecuten en instancias con una etiqueta específica. Esto resulta útil en escenarios como lanzamientos canary y arquitecturas basadas en celdas.

10 de diciembre de 2020

No aplica

Mejora

  • Se separó el hilo de heartbeat del cliente de los hilos principales de Akka para garantizar que el alto tráfico de negocio no afecte las sondas de heartbeat.

  • Se eliminó h2 del paquete shaded. Aplicar shading a h2 podía provocar que el controlador de MySQL no se cargara.

No aplica

1.2.1.2

Nueva función

  • Agrega un ContainerPool compartido que permite que todas las tareas del cliente compartan un único pool de hilos. Esta función mejora significativamente el rendimiento y la estabilidad del cliente durante la programación de tareas con alta concurrencia.

  • Se aplicó shading a la dependencia de Scala para evitar conflictos.

  • Agrega compatibilidad con la autenticación mediante appKey en la nube pública.

  • Mejora el modelo MapReduce y permite configurar el método Reduce para que se ejecute solo después de que todas las subtareas se completen correctamente.

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

20 de octubre de 2020

No aplica

Mejora

Se optimizó el pool de hilos Netty del cliente.

No aplica

Corrección de error

  • Se corrigió un problema donde las tareas broadcast podían bloquearse.

  • Se corrigió una posible filtración de credenciales AccessKey ID o AccessKey Secret en la función de Log Service (SLS).

No aplica

1.2.0.2

Nueva función

  • Agrega compatibilidad con más de 100,000 tareas por aplicación en la nube pública.

  • Agrega un interruptor para el registro del lado del cliente, habilitado de forma predeterminada.

  • Permite establecer el estado inicial de una tarea al crearla mediante OpenAPI.

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

19 de agosto de 2020

No aplica

Corrección de error

  • Se corrigió un problema donde el cliente perdía la conexión con el servidor durante simulacros de partición de red.

  • Se corrigió un problema donde las aplicaciones EDAS no podían leer el AccessKey Secret.

No aplica

1.1.4.RELEASE

Nueva función

  • Agrega compatibilidad con namespaces personalizados.

  • Agrega compatibilidad para inicializar varias instancias de SchedulerxWorker.

  • Mejora el modelo MapReduce.

  • Permite que el método Reduce se ejecute incluso si las subtareas presentan errores.

  • El método JobContext.getTaskStatuses determina el estado de cada tarea y devuelve una estructura Map<Long, TaskStatus> donde la clave es TaskId y el valor es el estado de la tarea.

15 de mayo de 2020

No aplica

Corrección de error

  • ProcessResult genera un puntero nulo si result es null.

  • El bloqueo de thread-dispatcher-delivery provoca que las tareas se queden atascadas.

No aplica

1.1.2.RELEASE

Nueva función

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

10 de febrero de 2020

No aplica

Mejora

Mejora la compatibilidad con AppKeys en varios grupos.

No aplica

2019

Versión

Tipo

Descripción

Fecha de lanzamiento

Referencias

1.1.0

Nueva función

  • La operación de OpenAPI para crear grupos ahora devuelve un AppKey.

  • Se agregó compatibilidad para reejecutar instancias de trabajo que se encuentran en estado exitoso. Para una instancia de trabajo dentro de un flujo de trabajo, puede reejecutar la propia instancia y sus instancias descendientes.

17 de diciembre de 2019

No aplica

Función optimizada

  • Se mejoró el rendimiento del servidor al cambiar la comunicación servidor-agente de síncrona a asíncrona y optimizar la configuración predeterminada del dispatcher de Akka.

  • Se triplicó el rendimiento de heartbeat en el agente de SchedulerX 1.1.0.

  • Se rediseñó la lista de gestión de tareas en la consola para mostrar más información.

No aplica

Problema corregido

  • Se corrigió un problema donde las subtareas globales podían no funcionar correctamente en el modelo pull.

  • Se corrigió un problema donde el agente de SchedulerX podía no iniciarse en un entorno aislado si no se configuraba un dominio.

No aplica

1.0.9

Nueva función

  • Se agregó la configuración BlockAppStart, que especifica si se debe bloquear el inicio de la aplicación cuando falla el inicio de SchedulerX. El valor predeterminado es true.

  • Se agregó la operación de API GetWorkflowInstanceRequest para consultar el estado de un flujo de trabajo.

  • Se agregó el campo jobName a JobContext para obtener el nombre de un trabajo en ejecución.

28 de noviembre de 2019

No aplica

Problema corregido

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

  • Se corrigió un error al deserializar LocalDateTime con Hessian.

  • Se corrigió un problema con la función de máquina designada donde las subtareas se enviaban a máquinas no especificadas después de que un trabajo se ejecutaba durante cierto tiempo.

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

  • Se corrigió un problema donde una configuración incorrecta de la clase de implementación del trabajo desencadenaba el apagado de ServletWebServer de Spring Boot, lo que detenía el servicio web mientras el proceso de negocio seguía ejecutándose.

  • Se corrigió un problema donde los trabajos se bloqueaban si la variable de inicio del sistema user.dir se establecía en /.

  • La llamada del cliente springContext.getBean genera una excepción AnnotationConfigApplicationContext has been closed already.

  • Se corrigió un problema poco frecuente donde el agente de SchedulerX podía generar valores workerId duplicados, lo que provocaba que las tareas se activaran en máquinas fuera de la aplicación prevista.

  • Se corrigió un problema que impedía usar cargadores de clases (class loader) personalizados en aplicaciones Spring.

  • Se corrigió un problema donde el contador de trabajos second-delay en modo broadcast mostraba un valor incorrecto.

  • En las tareas de nivel de segundo, jobContext.getScheduleTime no se actualiza en cada iteración del ciclo.

No aplica

1.0.8

Nueva función

  • Importante: la interfaz JobProcessor.postProcess se refactorizó para agregar un valor de retorno ProcessResult. Modifique cualquier código que use la interfaz postProcess.

  • Se mejoró la ejecución broadcast. BroadcastJobProcessor ahora admite preProcess y postProcess. El método preProcess se ejecuta una vez antes de que todos los workers ejecuten process, y postProcess se ejecuta una vez después de que todos los workers completan process.

  • Ahora puede usar JobContext.getTaskAttempt para obtener el número actual de intentos de reintento de una subtarea.

  • El agente de SchedulerX ahora admite puertos de escucha personalizados, que se pueden configurar mediante SchedulerxWorker.setPort.

  • Los trabajos Java ahora pueden implementar JobProcessor sin heredar de JavaProcessor.

6 de agosto de 2019

No aplica

Problema corregido

  • Se corrigió un error que impedía los reintentos automáticos de subtareas con TaskId=1.

  • Se corrigió un problema donde la causa del fallo no era visible cuando fallaba la tarea raíz de un trabajo distribuido.

  • Se corrigió un problema que impedía reintentar subtareas desde la lista de tareas de un trabajo de cómputo paralelo.

No aplica

1.0.6-compatible

Función optimizada

Esta versión es compatible con la interfaz de schedulerx1.0 (DTS). No puede depender simultáneamente de los paquetes schedulerx-client y schedulerx-worker; solo puede depender del paquete schedulerx-worker. Esto significa que debe migrar todas las tareas DTS a SchedulerX 2.0.

2 de julio de 2019

No aplica

1.0.6

Nueva función

  • Se aplicó shading a los siguientes paquetes: aliyun-log, commons-validator, gson, fastjson, guava, commons-collections.

  • Cuando se devuelve ProcessResult(false, errorMsg), el errorMsg también es visible en los registros del frontend.

Función optimizada

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

  • Se resolvió un problema en escenarios de alta carga donde el envío repetido de mensajes podía provocar que los trabajos second-delay se bloquearan o que se interrumpieran los hilos de la aplicación.

2 de julio de 2019

Nota

El número de versión que se muestra en la consola para este lanzamiento es 1.0.4, lo cual no coincide con el número de versión de Maven.

Problema corregido

  • Se corrigió un problema donde los trabajos broadcast podían bloquearse.

  • Se corrigió un problema donde los trabajos second-delay podían bloquearse.

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

  • Se corrigió un problema donde el agente de SchedulerX no se iniciaba si logcollector no lograba inicializarse y generaba una excepción.

  • Se corrigió un problema donde un flujo de trabajo no se podía reprogramar después de limpiar sus instancias de trabajo de la base de datos.

  • Se corrigió un problema donde el comando kill no era compatible con aplicaciones iniciadas con Spring.

1.0.3

Nueva función

  • El modelo MapReduce ahora puede devolver todos los resultados de las subtareas al método Reduce para su procesamiento.

  • El modelo distribuido ahora admite un modelo pull. Esto resuelve los cuellos de botella de rendimiento en máquinas independientes y permite el escalado dinámico para extraer subtareas.

  • El modelo pull admite concurrencia global de subtareas, lo que permite aplicar limitación de tasa.

  • Se agregó wfInstanceId a JobContext.

  • El agente de SchedulerX ahora genera una excepción y bloquea el inicio de la JVM en caso de fallo, lo que permite detectar problemas de forma temprana.

  • Durante el inicio, el agente de SchedulerX ahora imprime la versión y la ruta de los archivos JAR dependientes de Maven para facilitar la solución de conflictos.

  • Se agregó una dimensión de cola a los detalles de subtareas en el modelo distribuido, que muestra la cola de subtareas almacenadas en caché en cada máquina.

6 de junio de 2019

No aplica

Problema corregido

  • Los workers puestos en cuarentena por error debido a una alta carga del servidor ahora pueden recuperarse automáticamente sin reiniciar el agente de SchedulerX.

  • Los detalles de subtareas en el modelo distribuido ahora muestran con precisión el número de subtareas en ejecución en cada máquina.

  • El servidor ahora limpia los recursos en los nodos esclavos si el nodo maestro deja de funcionar, lo que evita fugas de memoria.

No aplica

1.0.0

Nueva función

  • Se agregó compatibilidad con la programación periódica mediante expresiones crontab y fixed_rate.

  • Se agregó compatibilidad con la programación y orquestación de flujos de trabajo.

  • Se agregó compatibilidad con la programación a nivel de segundo mediante expresiones second_delay.

  • Se agregó compatibilidad con tipos de trabajo Java, Shell, Python y Go.

  • Se agregó compatibilidad con los siguientes modos de ejecución: independiente, broadcast, cómputo paralelo, cuadrícula en memoria y cómputo en cuadrícula.

  • Se agregó compatibilidad con los modelos de programación distribuida Map y MapReduce.

  • Se agregó compatibilidad con reintentos automáticos de instancias de trabajo y subtareas con errores. Esta función está deshabilitada de forma predeterminada.

  • Se agregó compatibilidad con la hora de datos y la retroalimentación de datos.

30 de abril de 2019

No aplica