Destino de Pub/Sub
Si eliges el tipo de destino Pub/Sub, sigue estos pasos:Especifica el nombre del tema en el que se publicará el trabajo. Este es un tema de Pub/Sub que ya configuraste en tu proyecto.
Especifica el mensaje que se enviará al tema. Se envía como
data
. en el mensaje de Pub/Sub. Para un ejemplo que hace consulta la Guía de inicio rápido.Agrega los atributos de mensaje que necesites.
Establece cualquier configuración adicional mediante la sección
Configure optional settings
.
Cloud Scheduler publicará mensajes en este tema como una API de Google cuenta de servicio.
Destino HTTP de App Engine
Si eliges el tipo de objetivo HTTP de App Engine, debes usar el App de App Engine y la región asociada al proyecto actual. Si Si quieres usar otra aplicación de App Engine fuera de la configuración elige HTTP como el destino y no HTTP de App Engine. El las reglas de firewall de destino deben permitir solicitudes del rango de IP 0.1.0.2/32.Configura el formulario como se indica a continuación:
En la lista Tipo de destino, selecciona HTTP de App Engine.
Especifica el nombre del servicio de App Engine que ejecuta la para el trabajo de Cloud Scheduler. Si se omite,
default
servicio. Si deseas establecerlo, puedes encontrar los nombres de los servicios en la Consola de Google Cloud.De manera opcional, especifica la versión. Si no se establece, se usa la versión en uso actual. Puedes encontrar las versiones disponibles Consola de Google Cloud.
De manera opcional, especifica la instancia. Si no se configura, cualquier instancia disponible puede que se usará. Puedes encontrar las versiones disponibles Consola de Google Cloud.
Especifica la URL relativa del extremo de App Engine a la que el trabajo se pondrán en contacto. Si usas el valor predeterminado
/
, el trabajo usaráPROJECT-ID.appspot.com
en el quePROJECT-ID
es el ID del proyecto actual.Configura el método HTTP que quieres usar cuando se ejecute el trabajo. El valor predeterminado es
POST
.Agrega los encabezados que necesites a la solicitud.
De manera opcional, especifica los datos del cuerpo que se enviarán al destino. Estos datos se envía en el cuerpo de la solicitud como bytes cuando Se seleccionó el método HTTP
POST
oPUT
.
Los extremos de App Engine orientados deben estar en el mismo proyecto y
asegurado con login: admin
en el elemento handlers
de la
archivo app.yaml
.
Destino HTTP
Si eliges el tipo de objetivo HTTP, haz lo siguiente:Especifique la URL completamente calificada del extremo con el que se pondrá en contacto el trabajo.
Especifica el método HTTP. El valor predeterminado es
POST
.De manera opcional, especifica los datos que se enviarán al destino. Estos datos se envían en el cuerpo de la solicitud en bytes cuando se usa el método HTTP
POST
oPUT
seleccionado.Agrega los encabezados que necesites.
Para crear un trabajo de destino HTTP que requiera autenticación, consulta Usa la autenticación con destinos HTTP.
Los extremos HTTP objetivo deben ser de acceso público.
Puedes usar Cloud Scheduler para configurar unidades de trabajo programadas, conocidas como trabajos cron, que se envían a destinos en algunos el cronograma recurrente, también se denomina intervalo o frecuencia de trabajo.
Solo se debe ejecutar una instancia de trabajo a la vez. En raras en circunstancias específicas, es posible que varias instancias del mismo trabajo solicitado. Como resultado, tu controlador de solicitudes debería ser idempotente, y tu código debe asegúrese de que no se produzcan efectos secundarios dañinos si esto ocurre.
Cloud Scheduler está diseñado para la repetición de trabajos. Si necesitas ejecutar un trabajo solo una vez, considera usar Cloud Tasks, que puede programar una tarea hasta con 30 días de anticipación.
Antes de comenzar
Asegúrate de haber configurado tu entorno para de Google Cloud Scheduler.
Elige un tipo de segmentación
Cloud Scheduler puede invocar los siguientes tipos de destinos:
Extremos HTTP
Temas de Pub/Sub
Servicios de App Engine
Invoca servicios de destino que estén restringidos a entrada interna
Cloud Scheduler puede invocar los siguientes servicios de forma interna:
- Funciones de Cloud Run
- Cloud Run (en la URL
run.app
, no en dominios personalizados)
Para invocar estos destinos internamente, el destino debe estar en el mismo proyecto de Google Cloud o el perímetro de los Controles del servicio de VPC Trabajo de Cloud Scheduler.
Para obtener más información sobre cómo restringir la entrada para proteger los destinos, consulta Restricción de entrada (para Cloud Run) y Ajusta la configuración de red (para Cloud Run).
Crea un trabajo
Puedes crear un trabajo con la consola de Google Cloud o con Google Cloud CLI.
Console
En la consola de Google Cloud, ve a la página Cloud Scheduler.
Haz clic en Create job (Crear trabajo).
En el campo Nombre, proporciona un nombre para el trabajo que sea único para en un proyecto final.
Después de borrar el trabajo asociado, puedes volver a usar el nombre de un trabajo en un proyecto final.
En la lista Región, selecciona una región.
Si usas un destino HTTP de App Engine, debes elegir el mismo región que tu aplicación de App Engine. Para obtener más información, consulta Regiones admitidas por objetivo.
De forma opcional, proporciona una breve descripción del trabajo, como un recordatorio de lo que este hace.
Esta descripción aparece en la consola junto al nombre del trabajo.
Especifica la frecuencia. a la que se ejecutará el trabajo con una cadena de configuración.
Por ejemplo, la string
0 1 * * 0
ejecuta el trabajo una vez por semana a la 1:00 a.m. todos los domingos por la mañana. La cadena que proporciones aquí puede ser cualquiera Compatibles con unix-cron una cadena vacía. Para obtener más información, consulta Configura trabajo cron cron.En la lista Zona horaria, elige la que se usará para el trabajo. de un proyecto.
Haga clic en Continuar.
Especifica el Tipo de destino:
Pub/Sub: debes especifica el nombre del tema de Pub/Sub que tienes ya está configurado en tu proyecto y en el que se publicará el trabajo.
HTTP de App Engine: debes usar la app de App Engine y la región asociada con proyecto actual.
Haga clic en Continuar.
De manera opcional, para configurar cualquier comportamiento de reintento, haz clic en Establece la configuración opcional. Para especificar la duración, usa una secuencia de números enteros decimales no negativos con los siguientes sufijos de unidad:
- h: hora
- m: minuto
- s: segundo
- ms: milisegundo
- us: microsegundo
- ns: nanosegundo
No se permiten valores fraccionarios ni negativos. El campo
Max retry duration
solo admite valoresh
,m
ys
. TantoMin backoff duration
comoMax backoff duration
admiten el conjunto completo.De manera opcional, para los objetivos HTTP y HTTP de App Engine, configura una la fecha límite para los intentos de trabajo. Si el controlador de solicitudes no responde la fecha límite, se cancela la solicitud y se marca el intento como fallido. Cloud Scheduler vuelve a intentar el trabajo de acuerdo con la configuración de reintentos.
Para crear y guardar el trabajo, haz clic en Crear.
Ahora, el trabajo se ejecutará con la frecuencia especificada.
gcloud
Cuando creas un trabajo con gcloud CLI, usas diferentes para cada tipo de target:
HTTP
Puede enviar una solicitud a cualquier extremo HTTP o HTTPS. HTTP de destino extremos deben ser de acceso público.
gcloud scheduler jobs create http JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --uri=URI
Reemplaza lo siguiente:
JOB
: Es un nombre de trabajo que debe ser único en el en un proyecto final. Ten en cuenta que no puedes volver a usar el nombre de un trabajo en un proyecto, aunque borrar su trabajo asociado.LOCATION
: Es la ubicación en la que se ejecutará el trabajo.SCHEDULE
: frecuencia o trabajo el intervalo en el que se ejecutará el trabajo, por ejemplo,every 3 hours
. El string que proporciones aquí cualquier archivo unix-cron string compatible. Aunque ya no recomendamos su uso, la versión Sintaxis de cron de App Engine sigue siendo compatible con los trabajos existentes.Para obtener más información, consulta Configura trabajo cron cron.
URI
: Es el URI completamente calificado del extremo. el trabajo se pondrá en contacto.
Otros parámetros se describen en el Referencia de la línea de comandos de gcloud:
De forma opcional, especifica el método HTTP. El valor predeterminado es
POST
.De manera opcional, especifica los datos que se enviarán al destino. Estos datos son enviados en el cuerpo de la solicitud como bytes cuando los valores de
POST
oPUT
Se seleccionó el método HTTP.De manera opcional, configura los valores de reintento, que especifican cómo App Engine es que se volverá a intentar en caso de falla. En la mayoría de los casos, la configuración predeterminada será suficiente.
Para crear un trabajo de destino HTTP que requiera autenticación, consulta Usa la autenticación con destinos HTTP.
Ejemplo
gcloud scheduler jobs create http my-http-job \ --schedule "0 1 * * 0" \ --uri "http://myproject/my-url.com" \ --http-method GET
Pub/Sub
Debes usar un tema de Pub/Sub que ya configuraste en tu proyecto. Cloud Scheduler publicará mensajes en este tema como una cuenta de servicio de la API de Google.
gcloud scheduler jobs create pubsub JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --topic=TOPIC
Reemplaza lo siguiente:
JOB
: Es un nombre de trabajo que debe ser único en el en un proyecto final. Ten en cuenta que no puedes volver a usar el nombre de un trabajo en un proyecto, aunque borrar su trabajo asociado.LOCATION
: Es la ubicación en la que se ejecutará el trabajo.SCHEDULE
: frecuencia o trabajo el intervalo en el que se ejecutará el trabajo, por ejemplo,every 3 hours
. El string que proporciones aquí puede ser cualquier unix-cron string compatible. Aunque ya no recomendamos su uso, la versión Sintaxis de cron de App Engine sigue siendo compatible con los trabajos existentes.Para obtener más información, consulta Configura trabajo cron cron.
TOPIC
: Es el nombre del tema al que corresponde el trabajo. que publicarás. Usa la marca--message-body
o--message-body-from-file
. para especificar el mensaje que se enviará al tema. Se envía comodata
. en el mensaje de Pub/Sub. Para un ejemplo que sí para obtener más información, consulta la guía de inicio rápido.
Otros parámetros se describen en el Referencia de la línea de comandos de gcloud
Ejemplo
gcloud scheduler jobs create pubsub myjob \ --schedule "0 1 * * 0" \ --topic cron-topic \ --message-body "Hello"
HTTP de App Engine
El destino App Engine HTTP
solo está disponible para App Engine
asociada con el proyecto actual. Si quieres usar otra
App de App Engine fuera de tu proyecto actual, elige HTTP
como
el objetivo, no App Engine HTTP
. Las reglas de firewall de destino deben
Permitir solicitudes del rango de IP 0.1.0.2/32.
Los extremos de App Engine se pueden proteger con login: admin
en el
handlers
en el archivo app.yaml
.
gcloud scheduler jobs create app-engine \ --JOB=JOB \ --location=LOCATION \ --schedule=SCHEDULE
Reemplaza lo siguiente:
JOB
: Es un nombre de trabajo que debe ser único en el en un proyecto final. Ten en cuenta que no puedes volver a usar el nombre de un trabajo en un proyecto, aunque borrar su trabajo asociado.LOCATION
: Es la ubicación en la que se ejecutará el trabajo. Debe ser la misma que la ubicación de tu aplicación de App Engine.SCHEDULE
: La frecuencia o el intervalo de trabajos, en la que el trabajo es ejecutar, por ejemplo,every 3 hours
. La cadena que proporciones aquí puede ser cualquiera unix-cron string compatible. Aunque ya no recomendamos su uso, la versión Sintaxis de cron de App Engine sigue siendo compatible con los trabajos existentes.Para obtener más información, consulta Configura trabajo cron cron.
Otros parámetros se describen en el Referencia de la línea de comandos de gcloud:
Especifica la URL relativa del extremo de App Engine que el se pondrá en contacto con ellos. Si usas el valor predeterminado
/
, el trabajo usaráPROJECT-ID.appspot.com
en el quePROJECT-ID
es el ID del proyecto actual.Especifica el nombre del servicio de App Engine que se ejecuta el controlador del trabajo de Cloud Scheduler. Si se omite,
default
servicio. Si quieres configurarlo, puedes buscar los nombres de los servicios en la consola de Google Cloud.De forma opcional, configura el método HTTP que desees usar cuando se ejecute el trabajo. El valor predeterminado es
POST
.De manera opcional, especifica la versión. Si no se establece, la publicación actual versión. Puedes encontrar las versiones disponibles Consola de Google Cloud.
De manera opcional, especifica la instancia. Si no se configura, cualquier instancia disponible un modelo de AA. Puedes encontrar las versiones disponibles Consola de Google Cloud.
De manera opcional, especifica los datos que se enviarán al destino. Estos datos se envían en el cuerpo de la solicitud como bytes cuando la HTTP
POST
oPUT
método seleccionado.De manera opcional, configura los valores de reintento, que especifican cómo App Engine es que se volverá a intentar en caso de falla. En la mayoría de los casos, los valores predeterminados son suficientes.
Ejemplo
gcloud scheduler jobs create app-engine my-appengine-job \ --schedule "0 1 * * 0" \ --relative-url "/cron-handler"
Editar un trabajo
Puedes editar la configuración de un trabajo.
Console
En la consola de Google Cloud, ve a la página Cloud Scheduler.
Selecciona el trabajo que quieres editar.
Haz clic en Edit.
Sigue los pasos para definir el programa, configurar la ejecución y definir la configuración opcional cuando creas un trabajo
gcloud
Cuando editas un trabajo con gcloud CLI, usas diferentes para cada tipo de target:
HTTP
Puede enviar una solicitud a cualquier extremo HTTP o HTTPS. HTTP de destino extremos deben ser de acceso público.
gcloud scheduler jobs update http JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --uri=URI
Reemplaza lo siguiente:
JOB
: Es un nombre de trabajo que debe ser único en el en un proyecto final. Ten en cuenta que no puedes volver a usar el nombre de un trabajo en un proyecto, aunque borrar su trabajo asociado.LOCATION
: Es la ubicación en la que se ejecuta el trabajo. Si no especificas la ubicación, gcloud CLI usará tu ubicación predeterminada. Si el trabajo que quieres editar está en un debes especificar la ubicación, además delNAME
para que se identifique tu trabajo. No puedes actualizar la ubicación del trabajo.SCHEDULE
: frecuencia o trabajo el intervalo en el que se ejecutará el trabajo, por ejemplo,every 3 hours
. El string que proporciones aquí cualquier archivo unix-cron string compatible. Aunque ya no recomendamos su uso, la versión Sintaxis de cron de App Engine sigue siendo compatible con los trabajos existentes.Para obtener más información, consulta Configura trabajo cron cron.
URI
: Es el URI completamente calificado del extremo. el trabajo se pondrá en contacto.
Otros parámetros se describen en el Referencia de la línea de comandos de gcloud
Ejemplo
gcloud scheduler jobs update http my-http-job \ --schedule "0 1 * * 0" \ --uri "http://myproject/my-url.com" \ --http-method GET
Pub/Sub
Debes usar un tema de Pub/Sub que ya configuraste en tu proyecto. Cloud Scheduler publicará mensajes en este tema como una cuenta de servicio de la API de Google.
gcloud scheduler jobs update pubsub JOB \ --location=LOCATION \ --schedule=SCHEDULE \ --topic=TOPIC
Reemplaza lo siguiente:
JOB
: Es un nombre de trabajo que debe ser único en el en un proyecto final. Ten en cuenta que no puedes volver a usar el nombre de un trabajo en un proyecto, aunque borrar su trabajo asociado.LOCATION
: Es la ubicación en la que se ejecuta el trabajo. Si no especificas la ubicación, gcloud CLI usará tu ubicación predeterminada. Si el trabajo que quieres editar está en un debes especificar la ubicación, además delNAME
para que se identifique tu trabajo. No puedes actualizar la ubicación del trabajo.SCHEDULE
: La frecuencia o el intervalo de trabajos, en la que el trabajo es ejecutar, por ejemplo,every 3 hours
. La cadena que proporciones aquí puede ser cualquiera unix-cron string compatible. Aunque ya no recomendamos su uso, la versión Sintaxis de cron de App Engine sigue siendo compatible con los trabajos existentes.Para obtener más información, consulta Configura trabajo cron cron.
TOPIC
: Es el nombre del tema al que pertenece el trabajo. que publicarás. Usa la marca--message-body
o--message-body-from-file
. para especificar el mensaje que se enviará al tema. Se envía comodata
. en el mensaje de Pub/Sub. Para un ejemplo que hace para obtener más información, consulta la guía de inicio rápido.
Otros parámetros se describen en el Referencia de la línea de comandos de gcloud
Ejemplo
gcloud scheduler jobs update pubsub myjob \ --schedule "0 1 * * 0" \ --topic cron-topic --message-body "Hello"
HTTP de App Engine
El destino App Engine HTTP
solo está disponible para App Engine
asociada con el proyecto actual. Si quieres usar otra
App de App Engine fuera de tu proyecto actual, elige HTTP
como
el objetivo, no App Engine HTTP
.
Los extremos de App Engine se pueden proteger con login: admin
en el
handlers
en el archivo app.yaml
.
gcloud scheduler jobs update app-engine JOB \ --location=LOCATION \ --schedule=SCHEDULE
Reemplaza lo siguiente:
JOB
: Es un nombre de trabajo que debe ser único en el en un proyecto final. Ten en cuenta que no puedes volver a usar el nombre de un trabajo en un proyecto, aunque borrar su trabajo asociado.LOCATION
: Es la ubicación en la que se ejecuta el trabajo. (es la misma que la ubicación de tu aplicación de App Engine de destino). Si no especificas la ubicación, gcloud CLI usará tu ubicación predeterminada. Si el trabajo que quieres editar está en un debes especificar la ubicación, además delNAME
para que se identifique tu trabajo. No puedes actualizar la ubicación del trabajo.SCHEDULE
: La frecuencia o el intervalo de trabajos, en la que el trabajo es ejecutar, por ejemplo,every 3 hours
. La cadena que proporciones aquí puede ser cualquiera unix-cron string compatible. Aunque ya no recomendamos su uso, la versión Sintaxis de cron de App Engine sigue siendo compatible con los trabajos existentes.Para obtener más información, consulta Configura trabajo cron cron.
Otros parámetros se describen en el Referencia de la línea de comandos de gcloud
Ejemplo
gcloud scheduler jobs update app-engine my-appengine-job \ --schedule "0 1 * * 0" \ --relative-url "/cron-handler"
Pausa un trabajo
Puedes pausar la ejecución de un trabajo.
Console
En la consola de Google Cloud ve a Cloud Scheduler.
Selecciona el trabajo que quieres pausar.
Haz clic en Detener.
gcloud
Abre una ventana de terminal en la máquina en la que instalaste el gcloud CLI.
Ejecuta el siguiente comando:
gcloud scheduler jobs pause MY_JOB
Reemplaza
MY_JOB
por el nombre del trabajo que deseas pausar.
Mientras un trabajo está en pausa, también puedes editarlo. Después de editar el trabajo, permanecerá en pausa hasta que la reanudes.
Reanuda un trabajo
Puedes reanudar la ejecución de un trabajo pausado.
Console
En la consola de Google Cloud ve a Cloud Scheduler.
Selecciona el trabajo que deseas reanudar.
El trabajo ya debe estar pausado.
Haz clic en Reanudar.
gcloud
Abre una ventana de terminal en la máquina en la que instalaste el gcloud CLI.
Ejecuta el siguiente comando:
gcloud scheduler jobs resume MY_JOB
Reemplaza
MY_JOB
por el nombre del trabajo que deseas reanudar.
Borra un trabajo
Puedes borrar un trabajo.
Console
En la consola de Google Cloud ve a Cloud Scheduler.
Selecciona el trabajo que quieres borrar.
Haz clic en Borrar.
gcloud
Abre una ventana de terminal en la máquina en la que instalaste el gcloud CLI.
Ejecuta el siguiente comando:
gcloud scheduler jobs delete MY_JOB
Reemplaza
MY_JOB
por el nombre del trabajo que deseas. borrar.