Implementé una aplicación en mi Google App Engine que utiliza un trabajo CRON. Seguí esto Tutorial. Funciona bien, podría confirmarlo en mi consola GAE. En mis registros de Stackdriver también puedo ver que el trabajo CRON se está ejecutando.

Pero todos los cambios que realicé en mi archivo cron.xml no se aplicaron después de implementar mi aplicación nuevamente. Incluso eliminé el archivo cron.xml e implementé mi aplicación nuevamente, sin efecto. No quiero que el trabajo de CRON exceda ninguna cuota.

  1. ¿Hay alguna forma de cancelar / deshabilitar / eliminar un trabajo CRON de la consola GAE?
  2. ¿Estoy haciendo algo mal para cancelar el trabajo CRON modificando y eliminando el archivo cron.xml?
1
Oliver 26 nov. 2017 a las 04:03

3 respuestas

La mejor respuesta

En algunos casos (en particular, aplicaciones de servicios múltiples según mi experiencia), simplemente cargar la aplicación / servicio puede no actualizar la configuración cron automáticamente. Lo más probable es que debido a que la configuración cron no es una configuración de nivel de servicio, es una de nivel de aplicación, independiente de un servicio en particular.

Es por eso que hay comandos específicamente para implementar solo la configuración cron. De Carga de trabajos cron:

Opción 2: Cargue solo sus actualizaciones cron

Para actualizar solo la configuración cron sin cargar el resto de la aplicación, ejecute el siguiente comando:

./appengine-java-sdk/bin/appcfg.sh update_cron [YOUR_APP_DIR]

Y justo debajo de eso tienes Eliminando todos los trabajos cron - básicamente cargando un archivo de configuración cron vacío (en lugar de simplemente eliminar el archivo):

Para eliminar todos los trabajos cron:

3
Dan Cornilescu 26 nov. 2017 a las 03:41

Ahora con la herramienta gcloud es un poco diferente:

1 - establece el proyecto adecuado:

gcloud config set project my-project

2 - crea un archivo cron.yaml con el siguiente contenido cron:

3 - sube el nuevo archivo cron

gcloud app deploy cron.yaml

7
abdolence 7 ago. 2019 a las 11:26

Nuevamente, esta es la forma típica de GCP de permitir lo mínimo haciendo lo máximo. ¿Por qué volvería a implementar todo el cron.xml, solo para actualizar uno o seleccionar el trabajo cron? ¿Cuál habría sido la mejor y más sencilla solución que en GCP Console ¡solo, contra cada cron, encontramos la opción para suspender / detener / iniciar el trabajo cron! Después de todo, es una especie de administración de aplicaciones, no un problema / requisito de nivel lógico de la aplicación. He creado FR para esto.

-1
Pratap Singh 5 sep. 2019 a las 13:54