Los algoritmos de resultados son una característica opcional del modelo de programación por lotes.
Un algoritmo de resultados permite que dos tipos de acciones ocurran al final de un paso por lotes:
Los algoritmos de resultados se aplican a un trabajo por lotes a través del lenguaje de control de trabajos XML (xJCL). Estos algoritmos se declaran en xJCL y, a continuación, se aplican a los pasos por lotes.
Al finalizar el paso por lotes, los puntos finales de Compute Grid comprueban el xJCL del trabajo por lotes para determinar qué algoritmo de resultados se va a invocar. Por cada algoritmo de resultados especificado, los puntos finales de Compute Grid pasan al algoritmo el código de retorno del paso por lotes, que es el número entero devuelto por el método destroyJobStep del paso, y el código de retorno actual del trabajo por lotes de la base de base de datos de puntos finales de Compute Grid. A continuación, el algoritmo de resultados puede realizar cualquier acción basándose en los códigos de retorno que se hayan pasado. El algoritmo devolverá un código de retorno del trabajo por lotes a los puntos finales de Compute Grid, para que persista en la base de datos de puntos finales de Compute Grid como el código de retorno del trabajo por lotes. Este código de retorno puede ser el mismo que el código de retorno que los puntos finales de Compute Grid han pasado al algoritmo de resultados inicialmente o el código de retorno puede ser diferente, dependiendo de la lógica codificada en el algoritmo de resultados. Si no se especifica un algoritmo de resultados en un paso por lotes, el código de retorno de trabajos es el del algoritmo de resultados del paso anterior. Si no se especifican algoritmos de resultados, el código de retorno de trabajos es (0).
También se facilita una interfaz de programación del sistema (SPI) de algoritmos de resultados, que puede utilizar para escribir sus propios algoritmos y aplicarlos a los trabajos por lotes.
Ejemplo de cómo aplicar un algoritmo de resultados jobsum y custom a los pasos
<job name="PostingSampleEar"> <results-algorithms> <results-algorithm name="jobsum"> <classname>com.ibm.wsspi.resultsalgorithms.jobsum</classname> </results-algorithm> <results-algorithm name="custom_algorithm"> <classname>my_custom_algorithm</classname> </results-algorithm> </results-algorithms> <job-step name="Step1"> <results-ref name="jobsum"> </job-step> <job-step name="Step2"> <results-ref name="custom_algorithm"> </job-step> </job>