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:
Ubica el trabajo que te interesa.
Haz clic en el trabajo para mostrar su página de detalles.
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
Ubica el trabajo que te interesa.
Haz clic en el trabajo para mostrar su página de detalles.
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.
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
- JOB_NAME por el nombre del trabajo.
- ARGS por los argumentos de trabajo deseados
- KEY y VALUE se sincronizan con las variables de entorno deseadas.
- TASKS por la cantidad de tareas deseada
- TIMEOUT por el tiempo de espera de la tarea deseado
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:
- ACCESS_TOKEN por un token de acceso válido para una cuenta que tenga los permisos de IAM para ejecutar anulaciones 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.
- ARGS por argumentos de trabajo.
- KEY y VALUE se sincronizan con variables de entorno.
- TASKS por la cantidad de tareas.
- TIMEOUT por el tiempo de espera de la tarea.
- REGION por la región de Google Cloud del trabajo.
- PROJECT-ID por el ID del proyecto de Google Cloud.
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
Haz clic en el trabajo para abrir su panel de detalles.
Selecciona la ejecución del trabajo que deseas cancelar.
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:
- Ver registros de trabajos
- Supervisar el rendimiento del trabajo
- Administrar ejecuciones de trabajos
- Administrar empleos