IBM Cloud Docs
Ejecución y actualización de trabajos

Ejecución y actualización de trabajos

Con esta guía de aprendizaje, ejecutará un trabajo por lotes mediante la consola de IBM Cloud® Code Engine.

Un trabajo ejecuta una o más instancias de su código ejecutable en paralelo. A diferencia de las aplicaciones, que gestionan solicitudes HTTP, los trabajos se han diseñado para que se ejecuten una vez y se salga. Cuando crea un trabajo, puede especificar la información de configuración de carga de trabajo que se utiliza cada vez que se ejecuta el trabajo.

Antes de empezar

Para obtener más información sobre los trabajos por lotes, consulte Carga de trabajo de los trabajos por lotes.

Para utilizar la consola Code Engine, vaya a Code Engine overview.

Todos los usuarios de Code Engine están obligados a tener una cuenta de pago por uso. Las guías de aprendizaje pueden incurrir en costes. Utilice el Estimador de costes para generar una estimación de costes basada en el uso previsto. Para obtener más información, consulte Precios deCode Engine.

Creación de un trabajo

Cree un trabajo de Code Engine utilizando la imagen de icr.io/codeengine/helloworld. Este trabajo imprime Hello from helloworld! I'm a task job!.

  1. Abra la página de visión general de Code Engine.
  2. Seleccione Vamos.
  3. Seleccione Trabajo.
  4. Seleccione un proyecto de la lista de proyectos disponibles. También puede crear uno nuevo. Tenga en cuenta que debe tener un proyecto seleccionado para crear un trabajo.
  5. Indique un nombre para el trabajo y especifique icr.io/codeengine/helloworld para la imagen del contenedor. Utilice un nombre para el trabajo que sea exclusivo dentro del proyecto. En este ejemplo, no es necesario que modifique los valores predeterminados de las variables de entorno ni de los valores de tiempo de ejecución. Para obtener más información sobre el código que se utiliza para este ejemplo, consulte helloworld.
  6. Pulse Crear.

Ejecución de un trabajo

Después de crear el trabajo y de especificar la información de configuración de la carga de trabajo, estará listo para ejecutar el trabajo. Puede modificar cierta información de configuración.

Tenga en cuenta que cuando ejecuta el trabajo, se descarga y se despliega la última versión de la imagen de contenedor a la que se hace referencia, a menos que haya especificado una etiqueta para la imagen. Si se especifica una etiqueta para la imagen, se utiliza la imagen etiquetada para el trabajo.

  1. Navega hasta la página de tu trabajo:

    • En la página Code Engine Projects, haga clic en el nombre de su proyecto. Pulse Trabajos para trabajar con los trabajos y las ejecuciones de trabajos.
    • En la página Trabajos, haga clic en la pestaña Trabajos y haga clic en el nombre del trabajo que desea ejecutar.
  2. En la página del trabajo, pulse Enviar trabajo para enviar un trabajo basado en la configuración actual.

  3. En el panel "Enviar trabajo", acepte todos los valores predeterminados y vuelva a hacer clic en Enviar trabajo para ejecutarlo.

Desde el panel "Enviar trabajo", puede revisar y, opcionalmente, cambiar los valores de configuración predeterminados, como instancias, CPU, memoria, número de reintentos de trabajo y tiempo de espera del trabajo. Puede especificar el tamaño de la matriz o los índices de la matriz para que se ejecuten las instancias de trabajo paralelo. En Tamaño de matriz, indique el número de instancias que se ejecutarán en paralelo para este trabajo. Para los índices de matriz, proporcione una lista separada por comas para su conjunto personalizado de índices. Por ejemplo, para ejecutar este trabajo con un conjunto personalizado de índices 5, especifique 3,12-14,25. También puede especificar un valor personalizado para el tamaño de matriz de trabajos, que actualiza el valor de la variable de entorno JOB_ARRAY_SIZE inyectada automáticamente. Después de enviar este trabajo, el sistema muestra el estado de las instancias del trabajo en la página Detalles del trabajo. Si especifica el tamaño de la matriz en lugar de los índices de matriz en el panel "Enviar trabajo", en la sección Configuration de la página de detalles del trabajo, esta información se proporciona como índices de matriz.

Acceso a los detalles del trabajo

Localice detalles sobre el trabajo.

Después de enviar el trabajo, los resultados de la ejecución del trabajo específico están disponibles en la consola desde la página de detalles de ejecución del trabajo. En la consola, también puede ver los detalles del trabajo y las ejecuciones de trabajos específicas desde la página Trabajos.

  • Para ver los detalles del trabajo, pulse la pestaña Trabajos y pulse el nombre del trabajo con el que desea trabajar.
  • Para ver los detalles de una ejecución de trabajo específica, pulse la pestaña Ejecuciones de trabajo y pulse el nombre de la ejecución de trabajo con la que desea trabajar.

Si alguna de las instancias de su trabajo no se ejecuta, puede realizar las siguientes acciones:

  1. Haga clic en Volver a ejecutar índices fallidos para volver a ejecutar el trabajo para los índices que fallaron. En el panel Enviar trabajo, revise y, si lo desea, cambie los valores de configuración, incluidos los índices de matriz. La sección Índices de matriz enumera automáticamente los índices de las instancias de ejecución de trabajos que han fallado.

Para solucionar errores comunes de índices de ejecución de trabajos, consulte Comprender por qué pueden fallar los índices de ejecución de trabajos.

  1. Haga clic en Enviar trabajo para enviar el trabajo para los índices que han fallado.

Puede ver registros de trabajo después de añadir prestaciones de registro. Para obtener más información, consulte Visualización de registros del trabajo desde la consola.

Actualización de un trabajo

Puede gestionar su trabajo ajustando la configuración del mismo, lo que incluye la actualización del código, la imagen del contenedor, los argumentos o comandos del código, los recursos de la instancia de ejecución o las variables de entorno.

Cuando el trabajo está listo, puede actualizarlo. Vamos a actualizar el trabajo que creaste anteriormente para cambiar el saludo y la salida de las variables de entorno mediante la actualización de una variable de entorno. Cuando se envía una solicitud a la tarea de ejemplo icr.io/codeengine/helloworld, ésta lee la variable de entorno TARGET e imprime "Hello ${TARGET}!". Si esta variable de entorno está vacía, se devuelve "Hello World!". Para obtener más información sobre el código utilizado en este ejemplo, consulte helloworld.

  1. Vaya a la página de trabajo.

    • En la página Code Engine Projects, haga clic en el nombre de su proyecto. Pulse Trabajos para trabajar con los trabajos y las ejecuciones de trabajos.
    • En la página Trabajos, haga clic en la pestaña Trabajos y haga clic en el nombre del trabajo que desea actualizar.
  2. En el separador Configuración > Variables de entorno, pulse Añadir variable de entorno. Añada una variable de entorno literal con el nombre de TARGET con un valor de Sunshine. El icr.io/codeengine/helloworld produce el mensaje, Hello <value_of_TARGET>!>.

  3. Haga clic en Añadir para añadir su variable de entorno.

  4. Pulse Desplegar.

  5. Pulse Enviar trabajo.

  6. En el panel Enviar trabajo, revise y si lo desea modifique los valores de configuración predeterminados como instancias, CPU, memoria, número de reintentos de trabajo y tiempo de espera del trabajo. Puede especificar el tamaño de la matriz o los índices de la matriz para que se ejecuten las instancias de trabajo paralelo. En Tamaño de matriz, indique el número de instancias que se ejecutarán en paralelo para este trabajo. Para los índices de matriz, proporcione una lista separada por comas para su conjunto personalizado de índices. Por ejemplo, para ejecutar este trabajo con un conjunto personalizado de índices 5, especifique 3,12-14,25. Vuelva a pulsar Enviar trabajo para ejecutar el trabajo. El sistema visualiza el estado de las instancias del trabajo en la página Detalles del trabajo.

  7. Al ver los registros del trabajo desde la consola para este trabajo, la salida del trabajo es Hello Sunshine!.

Próximos pasos

  • Después de crear el trabajo, envíelo para ejecutarlo. Consulte Ejecución de un trabajo. Puede ejecutar el trabajo varias veces.

  • Después de ejecutar el trabajo, para ver los detalles del trabajo y las ejecuciones del trabajo, consulte Detalles de trabajo.

  • Ahora que se ha creado el trabajo, se recomienda que los trabajos estén controlados por sucesos. Con las suscripciones de sucesos, puede desencadenar los trabajos utilizando planificaciones periódicas o establecer el trabajo para que reaccione a sucesos como las cargas de archivos.

  • Puede actualizar el trabajo y su código referenciado de varias formas, independientemente de cómo haya creado o actualizado el trabajo con anterioridad.

    • Si tiene una imagen de contenedor, según el estándar Open Container Initiative(OCI), entonces sólo necesita proporcionar una referencia a la imagen, que apunte a la ubicación de su registro de contenedores cuando cree (o actualice) su trabajo. Puede crear (o actualizar) su trabajo a partir de imágenes en un registro público o privado y luego acceder a la imagen referenciada desde la ejecución de su trabajo.

      Si ha creado el trabajo utilizando el mandato job create y ha especificado la opción --build-source para crear la imagen de contenedor desde el origen local o de repositorio, y desea cambiar el trabajo para que apunte a una imagen de contenedor diferente, primero debe eliminar la asociación de la compilación del trabajo. Por ejemplo, ejecute ibmcloud ce job update -n JOB_NAME --build-clear. Después de eliminar la asociación de la compilación del trabajo, puede actualizar el trabajo para que haga referencia a una imagen diferente.

    • Si está empezando con un código fuente que reside en un repositorio de Git, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y crear (o actualizar) el trabajo con una única operación. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Creación de un trabajo a partir del código fuente del repositorio. Si desea tener más control sobre la compilación de la imagen, puede elegir compilar la imagen con Code Engine antes de crear (o actualizar) el trabajo y ejecutarlo.

    • Si está empezando con un código fuente que reside en una estación de trabajo local, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y crear el trabajo con un único mandato de CLI. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Creación del trabajo a partir del código fuente local con la CLI. Si desea un mayor control sobre la creación de la imagen, puede elegir crear la imagen con Code Engine antes de crear (o actualizar) el trabajo y ejecutarlo.

    Por ejemplo, puede dejar que Code Engine maneje la compilación del código fuente local mientras avanza en el desarrollo del código fuente para el trabajo. Una vez que la imagen ha madurado, puede actualizar el trabajo para que haga referencia a la imagen específica que desee. Puede repetir este proceso según sea necesario.

    Cuando ejecuta el trabajo actualizado, se utiliza la última versión de la imagen de contenedor referenciada para la ejecución del trabajo, a menos que se especifique una etiqueta para la imagen. Si se especifica una etiqueta para la imagen, se utiliza la imagen etiquetada para la ejecución del trabajo.

¿Desea ver más ejemplos de código? Consulte los ejemplos de para IBM Cloud Code Engine GitHub.