Ejecutar tareas

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:

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

  2. Busca el empleo que te interese.

  3. Haz clic en el trabajo para ver la página de detalles.

  4. 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:

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

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

  2. Busca el empleo que te interese.

  3. Haz clic en el trabajo para ver la página de detalles.

  4. 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.

    imagen

  5. 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

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:

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

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

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

  3. Selecciona la ejecución de la tarea que quieras cancelar.

  4. 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:

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: