En esta página se describe cómo ejecutar trabajos de Cloud Run. Al ejecutar un trabajo, se crea una ejecución de trabajo en la que todas las tareas deben completarse correctamente para que la ejecución del trabajo se realice correctamente. Las ejecuciones de trabajos escriben registros en Cloud Logging y envían datos de monitorización a Cloud Monitoring.
Además de estas funciones de registro, también puede ver los detalles de ejecución de los 1000 trabajos más recientes en el panel de detalles de ejecución, así como los de cualquier ejecución que haya tenido lugar en los últimos siete días. Los detalles de ejecución antiguos se eliminan y ya no se muestran en el panel de detalles de ejecución. Sin embargo, los registros y los datos de monitorización de las ejecuciones anteriores siguen estando disponibles en Cloud Logging y Cloud Monitoring, de acuerdo con las políticas de conservación de esos productos.
Roles obligatorios
Para obtener los permisos que necesitas para las operaciones descritas en esta página, pide a tu administrador que te asigne uno de los siguientes roles de gestión de identidades y accesos en tu trabajo de Cloud Run:
- Para ejecutar tareas con Google Cloud CLI, usa Invocador de Cloud Run (
roles/run.invoker
) en la tarea de Cloud Run. - Para ejecutar tareas mediante la Google Cloud consola, anular configuraciones de tareas o cancelar ejecuciones de tareas, debes tener el rol Desarrollador de Cloud Run (
roles/run.developer
) en la tarea de Cloud Run.
Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos sobre roles de gestión de identidades y accesos de Cloud Run y permisos de gestión de identidades y accesos de Cloud Run. Si tu trabajo de Cloud Run interactúa con APIs deGoogle Cloud , como las bibliotecas de cliente de Cloud, consulta la guía de configuración de la identidad de servicio. Para obtener más información sobre cómo conceder roles, consulta los artículos sobre permisos de implementación y gestión del acceso.
Ejecutar tareas
Puedes ejecutar trabajos con la consola de Google Cloud , la CLI de Google Cloud, las bibliotecas de cliente o la API REST.
Consola
Para ejecutar un trabajo, sigue estos pasos:
Busca el empleo que te interese.
Haz clic en el trabajo para ver la página de detalles.
Haz clic en la opción para ejecutar.
gcloud
Para ejecutar un trabajo que ya has creado, sigue estos pasos:
gcloud run jobs execute JOB_NAME
Si quieres que el comando espere hasta que se complete la ejecución, usa
gcloud run jobs execute JOB_NAME --wait --region=REGION
Sustituye:
- JOB_NAME con el nombre del trabajo.
- REGION con la región en la que se puede encontrar el recurso.
También puedes definir la propiedad
run/region
.
Bibliotecas de cliente
Para ejecutar un trabajo desde el código, sigue estos pasos:
API REST
Para ejecutar un trabajo, envía una solicitud HTTP POST
al método jobs.run
de la API.
Por ejemplo, si usas 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
Sustituye:
- ACCESS_TOKEN con un token de acceso válido para una cuenta que
tenga los permisos de gestión de identidades y accesos para ejecutar un trabajo.
Por ejemplo, si has iniciado sesión en gcloud, puedes obtener un token de acceso con
gcloud auth print-access-token
. Desde una instancia de contenedor de Cloud Run, puedes obtener un token de acceso mediante el servidor de metadatos de la instancia de contenedor. - JOB-NAME con el nombre del trabajo.
- REGION con la Google Cloud región del trabajo.
- PROJECT-ID con el Google Cloud ID del proyecto.
Ejecutar tareas inmediatamente después de crearlas
Si usas la línea de comandos, puedes especificar la ejecución de la tarea inmediatamente después de crearla:
gcloud run jobs create JOB_NAME --execute-now --region=REGION
Anular la configuración de un trabajo para una ejecución específica
Puedes anular los argumentos, las variables de entorno, el número de tareas y el tiempo de espera de las tareas configurados para una tarea cuando ejecutes una tarea. Para ello, define estos parámetros al iniciar una nueva ejecución de la tarea. Los parámetros que especifiques solo afectarán a esta ejecución y no a las posteriores, ya que la definición del trabajo subyacente no cambiará.
Algunos casos prácticos habituales son los siguientes:
- Ejecutas el trabajo de forma programática desde tu código y quieres anular argumentos o variables de entorno. Por ejemplo, para indicar al trabajo dónde se encuentran los datos de entrada de esta ejecución.
- Tienes un trabajo en el que cada tarea solo debe procesar un fragmento de datos de entrada. Quieres anular el número de tareas en función del número de entradas que se van a procesar.
- El tiempo de ejecución de tu trabajo varía entre ejecuciones. Quieres anular el tiempo de espera de la tarea en función del tiempo de ejecución previsto del trabajo.
Para anular la configuración de un trabajo en una ejecución:
Consola
Busca el empleo que te interese.
Haz clic en el trabajo para ver la página de detalles.
Haga clic en la flecha del desplegable situada delante del botón Editar y, a continuación, en Ejecutar con anulaciones para mostrar el formulario Ejecutar trabajo con anulaciones.
Cambia los argumentos, las variables de entorno, el número de tareas o la configuración del tiempo de espera de las tareas de esta ejecución como quieras y, a continuación, 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
Sustituir
- JOB_NAME con el nombre del trabajo.
- ARGS con los argumentos de trabajo que quieras
- KEY y VALUE con las variables de entorno que quieras.
- TASKS con el número de tareas que quieras
- TIMEOUT con el tiempo de espera de la tarea que quieras.
Bibliotecas de cliente
Para ejecutar una tarea desde el código y anular la configuración de la tarea, sigue estos pasos:
API REST
Para anular la configuración de un trabajo, envía una solicitud HTTP POST
a la API Admin de Cloud Run jobs
endpoint.
Por ejemplo, si usas 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
Sustituye:
- ACCESS_TOKEN con un token de acceso válido para una cuenta que
tenga los permisos de gestión de identidades y accesos para ejecutar anulaciones de trabajos.
Por ejemplo, si has iniciado sesión en gcloud, puedes obtener un token de acceso con
gcloud auth print-access-token
. Desde una instancia de contenedor de Cloud Run, puedes obtener un token de acceso mediante el servidor de metadatos de la instancia de contenedor. - JOB_NAME con el nombre del trabajo.
- ARGS con argumentos de trabajo.
- KEY y VALUE se emparejan con variables de entorno.
- TASKS con el número de tareas.
- TIMEOUT con el tiempo de espera de la tarea.
- REGION con la Google Cloud región del trabajo.
- PROJECT-ID con el Google Cloud ID del proyecto.
Cancelar la ejecución de una tarea
Para detener una ejecución de una tarea de Cloud Run que esté en curso, usa la función de cancelación. Si cancelas la ejecución de una tarea, se detendrá la ejecución de la tarea actual. Las ejecuciones canceladas tienen el estado cancelada. Seguirás pudiendo ver la ejecución, incluidos sus datos de configuración, registros y datos de monitorización.
Si cancelas la ejecución de una tarea, no se anulan los cargos por el uso de las tareas de Cloud Run durante el tiempo que se haya ejecutado la tarea.
Para cancelar una ejecución, sigue estos pasos:
Consola
Haz clic en el trabajo para abrir el panel de detalles del trabajo.
Selecciona la ejecución de la tarea que quieras cancelar.
En el menú Acciones, haz clic en el icono de elipsis y, a continuación, en Cancelar.
gcloud
Usa el comando:
gcloud run jobs executions cancel EXECUTION_NAME
Sustituye EXECUTION_NAME
por el nombre de la ejecución.
Este comando pide confirmación, así que responde a la petición introduciendo
y
para confirmar.
Bibliotecas de cliente
Para cancelar la ejecución de un trabajo desde el código, sigue estos pasos:
API REST
Para cancelar la ejecución de un trabajo, envía una solicitud HTTP POST
a la API Admin de Cloud Run jobs
endpoint.
Por ejemplo, si usas 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
Sustituye:
- ACCESS_TOKEN con un token de acceso válido para una cuenta que
tenga los permisos de gestión de identidades y accesos para cancelar ejecuciones de trabajos.
Por ejemplo, si has iniciado sesión en gcloud, puedes obtener un token de acceso con
gcloud auth print-access-token
. Desde una instancia de contenedor de Cloud Run, puedes obtener un token de acceso mediante el servidor de metadatos de la instancia de contenedor. - JOB_NAME con el nombre del trabajo.
- EXECUTION-NAME con el nombre de la ejecución de la tarea.
- REGION con la Google Cloud región del trabajo.
- PROJECT-ID con el Google Cloud ID del proyecto.
Eliminar una ejecución de tarea
Puedes eliminar una ejecución de un trabajo, aunque esté en curso. Si eliminas una ejecución, esta se detendrá. Para obtener más información, consulta Eliminar una ejecución de un trabajo.
Siguientes pasos
Después de ejecutar un trabajo, puedes hacer lo siguiente:
- Ver registros de tareas
- Monitorizar el rendimiento de los trabajos
- Gestionar ejecuciones de trabajos
- Gestionar empleos