Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En esta página se explica cómo usar Cloud Scheduler para ejecutar un flujo de trabajo según una programación concreta, como todos los lunes a las 9:00 o cada 15 minutos. Puedes configurar la programación en la Google Cloud consola o con la CLI de Google Cloud.
Antes de empezar
Si aún no tienes un flujo de trabajo que quieras programar, crea y despliega uno.
Sustituye SERVICE_ACCOUNT_NAME por un nombre que tenga entre 6 y 30 caracteres. Puede contener caracteres alfanuméricos en minúscula y guiones.
Una vez que hayas creado una cuenta de servicio, no podrás cambiar su nombre.
PROJECT_ID: el ID de tu proyecto de Google Cloud .
SERVICE_ACCOUNT_NAME: el nombre de la cuenta de servicio que
has creado anteriormente.
Crea una tarea de Cloud Scheduler que active tu flujo de trabajo. Para ello, usa la cuenta de servicio que has creado anteriormente para autenticarte.
Ten en cuenta que, si vas a aplicar el registro de llamadas, debes configurarlo a través de la página Flujos de trabajo de la consolaGoogle Cloud . Para obtener más información, consulta los pasos que se indican a continuación.
Consola
Para programar un flujo de trabajo, ve a la página Flujos de trabajo de la consola de Google Cloud Cloud:
En la página Flujos de trabajo, selecciona un flujo de trabajo para ir a su página de detalles.
En la página Detalles del flujo de trabajo, haz clic en
editEditar.
En la página Editar flujo de trabajo, selecciona Añadir nuevo activador >
Cloud Scheduler.
Se abre el panel Crear una tarea de Scheduler.
Define la programación:
En el campo Nombre, introduce el nombre del trabajo de Cloud Scheduler. Debe ser único en todas las tareas de la misma región.
En la lista Región, selecciona una región adecuada (por ejemplo, us-central1).
En el campo Frecuencia, especifica un intervalo de tiempo que definas
en formato cron de Unix.
Por ejemplo, para programar la ejecución de tu flujo de trabajo cada 5 minutos, escribe */5 * * * *.
En la lista Zona horaria, selecciona la zona horaria
que Cloud Scheduler debe usar para interpretar la programación que
proporciones. Puedes buscar por país.
Haz clic en Continuar.
Configura la ejecución:
En el campo Argumento del flujo de trabajo, especifica los argumentos de tiempo de ejecución
que quieras pasar al flujo de trabajo antes de ejecutarlo. Los argumentos deben estar en formato JSON. Por ejemplo:
{"firstName":"Sherlock", "lastName":"Holmes"}.
Si tu flujo de trabajo no usa argumentos de tiempo de ejecución, acepta el valor predeterminado {} o deja el campo en blanco.
En la lista Nivel de registro de llamadas del flujo de trabajo, selecciona el nivel de registro de llamadas que quieras aplicar durante la ejecución del flujo de trabajo:
Sin especificar: no se ha especificado ningún nivel de registro. Este es el valor predeterminado.
Un nivel de registro de ejecución tiene prioridad sobre cualquier nivel de registro de flujo de trabajo, a menos que no se especifique el nivel de registro de ejecución (el valor predeterminado). En ese caso, se aplica el nivel de registro de flujo de trabajo.
Solo errores: registra todas las excepciones detectadas o cuando se detiene una llamada debido a una excepción.
Todas las llamadas: registra todas las llamadas a flujos de trabajo secundarios o funciones de biblioteca y sus resultados.
Sin registros: no se registran las llamadas.
En la lista Cuenta de servicio, selecciona la que has creado anteriormente.
Haz clic en Crear.
Ten en cuenta que, si vas a actualizar un flujo de trabajo, no es necesario que lo vuelvas a implementar.
La tarea de Cloud Scheduler ahora aparece en la pestaña Triggers (Activadores) de la página Workflow details (Detalles del flujo de trabajo).
Si quieres actualizar o eliminar el trabajo, debes editar el flujo de trabajo:
En la página Detalles del flujo de trabajo, haz clic en
editEditar.
En la sección Activadores, busca el trabajo que quieras actualizar o eliminar.
Haz clic en editEditar recurso o
deleteEliminar recurso.
gcloud
Abre un terminal e introduce el siguiente comando:
JOB_NAME: el nombre que le asignes al trabajo de Cloud Scheduler.
FREQUENCY: un intervalo de tiempo que defines con el formato cron de Unix.
Por ejemplo, para programar la ejecución de tu flujo de trabajo cada 5 minutos, escribe */5 * * * *.
PROJECT_ID: el ID de tu proyecto de Google Cloud .
REGION_NAME: la región en la que se encuentra tu flujo de trabajo, como
us-central1.
WORKFLOW_NAME: el nombre del flujo de trabajo cuya ejecución quieras programar.
DOUBLE_ESCAPED_JSON_STRING: una codificación JSON de los argumentos que envías. Las comillas dobles que hay dentro de la cadena entre comillas se escapan con barras invertidas (\). Por ejemplo:
--message-body="{\"argument\": \"{\\\"foo\\\": \\\"bar\\\"}\"}"
TIME_ZONE: la
zona horaria
que debe usar Cloud Scheduler para interpretar la programación que
proporciones. Por ejemplo: America/New_York.
SERVICE_ACCOUNT_NAME: el nombre de la cuenta de servicio que
has creado anteriormente.
Para mostrar todos los trabajos de un proyecto, sigue estos pasos:
gcloudschedulerjobslist
Para eliminar un trabajo, sigue estos pasos:
gcloudschedulerjobsdeleteJOB_NAME
Ahora, el flujo de trabajo se ejecuta con la frecuencia que has definido.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-20 (UTC)."],[],[],null,["# Schedule a workflow using Cloud Scheduler\n\nThis page shows you how to use [Cloud Scheduler](/scheduler/docs) to\nrun a workflow on a particular schedule, such as every Monday at 9 AM or every\n15 minutes. You can configure the schedule either in the Google Cloud console or by\nusing the Google Cloud CLI.\n\nBefore you begin\n----------------\n\n1. If you do not already have a workflow that you want to schedule, [create and deploy one](/workflows/docs/creating-updating-workflow#creating_a_workflow).\n2.\n\n\n Enable the Cloud Scheduler API.\n\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=cloudscheduler.googleapis.com)\nOr, in a terminal, enter the following command: \n\n```bash\ngcloud services enable cloudscheduler.googleapis.com\n```\n\nSchedule a workflow\n-------------------\n\n1. Create a [service account](/workflows/docs/authentication)\n so that Cloud Scheduler can make requests to the Workflows API:\n\n ```bash\n gcloud iam service-accounts create SERVICE_ACCOUNT_NAME\n ```\n\n Replace \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e with a name that is between 6 and 30\n characters. It can contain lowercase alphanumeric characters and dashes.\n After you create a service account, you cannot change its name.\n2. To allow the principal that will run your Cloud Scheduler\n commands the ability to act as an Identity and Access Management (IAM) service\n account,\n [grant a role that allows the principal to impersonate the service account](/iam/docs/service-account-permissions#roles).\n\n3. Grant your new service account the\n [workflows.invoker](/workflows/docs/access-control#roles) role so that the\n account has permission to trigger your workflow:\n\n \u003cbr /\u003e\n\n ```bash\n gcloud projects add-iam-policy-binding PROJECT_ID \\\n --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \\\n --role roles/workflows.invoker\n ```\n\n \u003cbr /\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of your Google Cloud project.\n - \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e: the name of the service account that you previously created.\n4. Create a Cloud Scheduler job that triggers your workflow, using the\n service account you previously created to authenticate.\n\n Note that if you are applying\n [call logging](/workflows/docs/log-workflow#call_logging), you must configure\n call logging through the **Workflows** page in the\n Google Cloud console. For details, refer to the following steps. \n\n ### Console\n\n 1. To schedule a workflow, go to the **Workflows** page in the Google Cloud console:\n\n\n [Go to Workflows](https://console.cloud.google.com/workflows)\n\n \u003cbr /\u003e\n\n 2. On the Workflows page, select a workflow to go to its\n details page.\n\n 3. On the **Workflow details** page, click\n *edit* **Edit**.\n\n 4. On the **Edit workflow** page, select **Add new trigger \\\u003e\n Cloud Scheduler**.\n\n The **Create a Scheduler job** pane opens.\n 5. Define the schedule:\n\n 1. In the **Name** field, enter a name for your Cloud Scheduler\n job. It must be unique across the jobs in the same region.\n\n 2. In the **Region** list, select an appropriate\n [region](/workflows/docs/locations); for example, **us-central1**.\n\n 3. In the **Frequency** field, specify a time interval that you define\n in a [unix-cron](/scheduler/docs/configuring/cron-job-schedules) format.\n For example, to schedule your workflow to execute every 5 minutes, type\n `*/5 * * * *`.\n\n 4. In the **Timezone** list, select the [time zone](/sdk/gcloud/reference/scheduler/jobs/create/http#--time-zone)\n that Cloud Scheduler should use to interpret the schedule you\n provide. You can search by country.\n\n 6. Click **Continue**.\n\n 7. Configure the execution:\n\n 1. In the **Workflow's argument** field, specify any [runtime arguments](/workflows/docs/passing-runtime-arguments)\n to pass to your workflow before execution. Arguments must be in JSON\n format. For example:\n `{\"firstName\":\"Sherlock\", \"lastName\":\"Holmes\"}`.\n If your workflow doesn't use runtime arguments, accept the default of\n `{}`, or leave the field blank.\n\n 2. In the **Workflow's call log level** list, select the level of\n [call logging](/workflows/docs/log-workflow#call_logging)\n that you want to apply during the execution of the workflow:\n\n - **Not specified**: no logging level is specified. This is the default. An execution log level takes precedence over any workflow log level, unless the execution log level is not specified (the default); in that case, the workflow log level applies.\n - **Errors only**: log all caught exceptions; or when a call is stopped due to an exception.\n - **All calls**: log all calls to subworkflows or library functions and their results.\n - **No logs**: no call logging.\n 3. In the **Service account** list, select the service account that\n you previously created.\n\n 8. Click **Create**.\n\n Note that if you are updating an existing workflow, you do *not* need\n to redeploy the workflow.\n\n The Cloud Scheduler job is now listed on the **Triggers**\n tab of the **Workflow details** page.\n 9. If you want to update or delete the job, you must edit the workflow:\n\n 1. On the **Workflow details** page, click *edit* **Edit**.\n 2. In the **Triggers** section, find the job you want to update or delete.\n 3. Click *edit* **Edit resource** or *delete* **Delete resource**.\n\n ### gcloud\n\n 1. Open a terminal and enter the following command:\n\n ```bash\n gcloud scheduler jobs create http JOB_NAME \\\n --schedule=\"\u003cvar translate=\"no\"\u003eFREQUENCY\u003c/var\u003e\" \\\n --uri=\"https://workflowexecutions.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION_NAME\u003c/var\u003e/workflows/\u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e/executions\" \\\n --message-body=\"{\\\"argument\\\": \\\"\u003cvar translate=\"no\"\u003eDOUBLE_ESCAPED_JSON_STRING\u003c/var\u003e\\\"}\" \\\n --time-zone=\"\u003cvar translate=\"no\"\u003eTIME_ZONE\u003c/var\u003e\" \\\n --oauth-service-account-email=\"\u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.iam.gserviceaccount.com\"\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eJOB_NAME\u003c/var\u003e: the name you are giving to your Cloud Scheduler job.\n - \u003cvar translate=\"no\"\u003eFREQUENCY\u003c/var\u003e: a time interval you define using a [unix-cron](/scheduler/docs/configuring/cron-job-schedules) format. For example, to schedule your workflow to execute every 5 minutes, type `*/5 * * * *`.\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of your Google Cloud project.\n - \u003cvar translate=\"no\"\u003eREGION_NAME\u003c/var\u003e: the region your Workflow is in, such as `us-central1`.\n - \u003cvar translate=\"no\"\u003eWORKFLOW_NAME\u003c/var\u003e: the name of the workflow you want to schedule execution of.\n - \u003cvar translate=\"no\"\u003eDOUBLE_ESCAPED_JSON_STRING\u003c/var\u003e: a JSON encoding of any arguments you are passing. The double quotation marks inside the quoted string are escaped using backslashes (\\\\). For example: `--message-body=\"{\\\"argument\\\": \\\"{\\\\\\\"foo\\\\\\\": \\\\\\\"bar\\\\\\\"}\\\"}\"`\n - \u003cvar translate=\"no\"\u003eTIME_ZONE\u003c/var\u003e: the [time zone](/sdk/gcloud/reference/scheduler/jobs/create/http#--time-zone) that Cloud Scheduler should use to interpret the schedule you provide. For example: `America/New_York`.\n - \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e: the name of the service account that you previously created.\n 2. To list all jobs in a project:\n\n ```bash\n gcloud scheduler jobs list\n ```\n\n \u003cbr /\u003e\n\n 3. To delete a job:\n\n ```bash\n gcloud scheduler jobs delete JOB_NAME\n ```\n\n \u003cbr /\u003e\n\nYour workflow now executes according to the frequency you have defined.\n| **Note:** Each execution of a workflow incurs costs, as detailed in [Workflows pricing](/workflows/pricing). To stop incurring costs from a scheduled workflow, [delete the Cloud Scheduler job](/sdk/gcloud/reference/scheduler/jobs/delete).\n\nWhat's next\n-----------\n\n- [Use IAM to control access](/workflows/docs/use-iam-for-access)\n- [Pass runtime arguments in an execution request](/workflows/docs/passing-runtime-arguments)\n- [Tutorial: Schedule Workflows with Cloud Scheduler](/scheduler/docs/tut-workflows)"]]