Ejecuta trabajos

En esta página, se describe cómo ejecutar trabajos de Cloud Run. La ejecución de un trabajo crea una ejecución de trabajo en la que todas las tareas deben ejecutarse hasta completarse con éxito para que la ejecución del trabajo se realice correctamente. Las ejecuciones de trabajos escriben registros en Cloud Logging y envían datos de supervisión a Cloud Monitoring.

Además de estas funciones de registro, también puedes ver los detalles de la ejecución de trabajos para las 1,000 ejecuciones más recientes de un trabajo mediante el panel de detalles de ejecución, junto con las ejecuciones que se produjeron en los últimos siete días. Se quitan los detalles más antiguos de ejecución y ya no son visibles en el panel de detalles de ejecución. Sin embargo, los registros y los datos de supervisión de las ejecuciones más antiguas aún están disponibles en Cloud Logging y Cloud Monitoring, sujetos a las políticas de retención de esos servicios. productos.

Roles obligatorios

Para obtener los permisos que necesitas para las operaciones descritas en esta página, pídele a tu administrador que te otorgue uno de los siguientes roles de IAM en tu trabajo de Cloud Run:

  • Para ejecutar trabajos con Google Cloud CLI: Invocador de Cloud Run (roles/run.invoker) en el trabajo de Cloud Run
  • Para ejecutar trabajos con la consola de Google Cloud, anular configuraciones de trabajos o cancelar ejecuciones de trabajos: Desarrollador de Cloud Run (roles/run.developer) en el trabajo de Cloud Run

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta Roles de IAM de Cloud Run y Permisos de IAM de Cloud Run. Si tu trabajo de Cloud Run interactúa con las APIs de Google Cloud, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información acerca de cómo otorgar roles, consulta Permisos de implementación y Administra el acceso.

Ejecuta trabajos

Puedes ejecutar trabajos con la consola de Google Cloud o Google Cloud CLI.

Console

Para ejecutar un trabajo, sigue estos pasos:

  1. Ir a la página de trabajos de Cloud Run

  2. Ubica el trabajo que te interesa.

  3. Haz clic en el trabajo para mostrar su página de detalles.

  4. Haz clic en Ejecutar.

gcloud

Para ejecutar un trabajo existente, sigue estos pasos:

gcloud run jobs execute JOB_NAME

Si quieres que el comando espere hasta que se complete la ejecución, usa lo siguiente:

gcloud run jobs execute JOB_NAME --wait --region=REGION

Reemplaza lo siguiente:

  • JOB_NAME por el nombre del trabajo.
  • REGION por la región en la que se puede encontrar el recurso. De manera alternativa, configura la propiedad run/region.

Bibliotecas cliente

Sigue estos pasos para ejecutar un trabajo existente a partir de código:

API de REST

Para ejecutar un trabajo existente, envía una solicitud HTTP POST al método de la API jobs.run.

Por ejemplo, con curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X POST \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run

Reemplaza lo siguiente:

  • ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para de ejecutar un trabajo. Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor.
  • JOB-NAME por el nombre del trabajo.
  • REGION por la región de Google Cloud del trabajo.
  • PROJECT-ID por el ID del proyecto de Google Cloud.

Ejecuta trabajos inmediatamente durante la creación del trabajo

Si usas la línea de comandos, puedes especificar la ejecución del trabajo de inmediato después de crear un trabajo:

gcloud run jobs create JOB_NAME --execute-now --region=REGION

Anula la configuración del trabajo para una ejecución específica

Puedes anular los argumentos, las variables de entorno, la cantidad de tareas y el tiempo de espera de la tarea configurados para un trabajo cuando ejecutas un trabajo si configuras estos parámetros cuando inicias una nueva ejecución de trabajo. Los parámetros que especificas solo afectan a esta ejecución y no a los posteriores, ya que la definición del trabajo subyacente permanece sin cambios.

Estos son algunos casos de uso comunes:

  • Debes ejecutar el trabajo de manera programática desde tu código y deseas anular argumentos o variables de entorno, por ejemplo, para indicarle al trabajo dónde se encuentran los datos de entrada para esta ejecución.
  • Tienes un trabajo en el que cada tarea tiene como objetivo procesar solo un dato de entrada. Deseas anular la cantidad de tareas según la cantidad de entradas que se procesarán.
  • El tiempo de ejecución de tu trabajo varía entre ejecuciones. Deseas anular el tiempo de espera de las tareas según el tiempo de ejecución esperado del trabajo.

Para anular la configuración de trabajo de una ejecución, sigue estos pasos:

Console

  1. Ir a la página de trabajos de Cloud Run

  2. Ubica el trabajo que te interesa.

  3. Haz clic en el trabajo para mostrar su página de detalles.

  4. Haz clic en la flecha desplegable delante del botón Editar y, luego, en Ejecutar con anulaciones para mostrar el formulario Ejecutar trabajo con anulaciones.

    imagen

  5. Cambia los argumentos, las variables de entorno, la cantidad de tareas o la configuración del tiempo de espera de la tarea para esta ejecución como desees y haz clic en Ejecutar.

gcloud

Usa el comando:

gcloud run jobs execute JOB_NAME \
     --args ARGS \
     --update-env-vars KEY=VALUE>,KEY_N=VALUE_N \
     --tasks TASKS \
     --task-timeout TIMEOUT

Reemplazar

Bibliotecas cliente

Para ejecutar un trabajo existente a partir de código, anula la configuración del trabajo:

API de REST

Si deseas anular la configuración de trabajo para un trabajo existente, envía una solicitud HTTP POST a fin de solicitar al extremo jobs de la API de Cloud Run Admin

Por ejemplo, con curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X POST \
  -d '{"overrides": {"containerOverrides": [{"args": ["ARGS"], "env": [{"name": "KEY", "value": "VALUE"}]}], "taskCount": TASK-COUNT, "timeout": "TIMEOUT" }}' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run

Reemplaza lo siguiente:

Cancelar la ejecución del trabajo

Para detener la ejecución del trabajo de Cloud Run que se está realizando, usa la función de cancelación. Cancelar la ejecución de un trabajo detiene la ejecución actual del trabajo. Las ejecuciones canceladas tienen el estado cancelado. Todavía podrás ver la ejecución, incluidos sus datos de configuración, registros y datos de supervisión.

Cancelar la ejecución de un trabajo no revierte los cargos por cualquier uso de trabajos de Cloud Run durante el tiempo en que se estaba ejecutando el trabajo.

Para cancelar una ejecución, sigue estos pasos:

Console

  1. Ir a la página de trabajos de Cloud Run

  2. Haz clic en el trabajo para abrir su panel de detalles.

  3. Selecciona la ejecución del trabajo que deseas cancelar.

  4. En el menú Acciones, haz clic en el ícono de puntos suspensivos y, luego, en Cancelar.

gcloud

Usa el comando:

gcloud run jobs executions cancel EXECUTION_NAME

Reemplaza EXECUTION_NAME por el nombre de la ejecución.

Este comando solicita confirmación, por lo que debes responder la solicitud; para ello, ingresa y para confirmar.

Bibliotecas cliente

Para cancelar la ejecución de un trabajo a partir de código, sigue estos pasos:

API de REST

Para cancelar la ejecución de un trabajo, envía una solicitud HTTP POST a fin de solicitar al extremo jobs de la API de Cloud Run Admin.

Por ejemplo, con curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X POST \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME/executions/EXECUTION-NAME:cancel

Reemplaza lo siguiente:

  • ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para cancelar ejecuciones de trabajos. Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor.
  • JOB_NAME por el nombre del trabajo.
  • EXECUTION-NAME por el nombre de la ejecución del trabajo.
  • REGION por la región de Google Cloud del trabajo.
  • PROJECT-ID por el ID del proyecto de Google Cloud.

Borra la ejecución de un trabajo

Puedes borrar la ejecución de un trabajo, incluso si se está realizando en este momento. Si borras una ejecución, se impide que la ejecución continúe. Para obtener más información, consulta Borra la ejecución de un trabajo.

¿Qué sigue?

Después de ejecutar un trabajo, puedes hacer lo siguiente: