Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Uso del programador de tareas en AppMaster

Uso del programador de tareas en AppMaster

El Programador de Tareas en el backend de la aplicación AppMaster, como en el caso clásico del backend, crea escenarios de repetición. Por ejemplo, cuando usted necesita hacer una acción específica en un horario. Un ejemplo clásico de este tipo de tareas es la limpieza de archivos temporales en el servidor, las copias de seguridad semanales, la generación de informes según un algoritmo determinado, etc.

Consideremos un ejemplo de uso del programador de tareas en el backend de la aplicación AppMaster. Supongamos que se quiere construir un proceso que cada mañana a las 9.00 horas envíe al usuario el tiempo a su número de teléfono móvil.

Así, la tarea se divide en varias etapas lógicas:

  • Instalar y configurar el módulo de envío de mensajes al móvil
  • Creación y configuración de un proceso API de solicitud externa
  • Configuración de un planificador en el backend de la aplicación

1. El módulo Nexmo le permite integrar en la aplicación AppMaster la capacidad de enviar mensajes SMS a un número seleccionado.

Nexmo module

Los siguientes procesos de negocio se instalan automáticamente con la instalación del módulo:

  • Nexmo.Send SMS - permite enviar mensajes al número especificado a través del

módulo Nexmo:

  • Teléfono [teléfono] - el número de teléfono al que se enviará el mensaje;
  • Contenido [cadena] - mensaje de texto;

Nexmo Send SMS

2. El recurso web gratuito OpenWeather API se utilizará como fuente de datos meteorológicos(https://openweathermap.org/api). El primer paso es crear una plantilla de solicitud externa de la API. Las plantillas de solicitud API se presentan en la sección Proceso de Negocio de la pestaña Solicitudes API externas. Para crear una nueva plantilla, haga clic en Crear solicitud API.

Create API request AppMaster

Tipo de solicitud: GET

Dirección de la solicitud: https: //api.openweathermap.org/data/2.5/weather

Parámetros de consulta:

  • Lat [cadena] - latitud
  • Lon [cadena] - longitud
  • Appid [string] - clave de la API de OpenWeather

Como parte de esta tarea, sólo nos interesan unos pocos campos del cuerpo de la respuesta en el principal(https://openweathermap.org/api/one-call-3).

  • Temp [float] - temperatura
  • Temp_min [float] - temperatura mínima
  • Temp_max [float] - temperatura máxima
  • Presión [float] - presión
  • Humedad [float] - humedad

Request GET AppMaster

3. Antes de configurar el programador de tareas, es necesario crear un Proceso de Negocio que recibirá la información meteorológica a través de la API. El Proceso de Negocio tiene el siguiente aspecto:

Business Process no-code AppMaster

  • Make Weather Query Model In - crea un modelo de parámetros de solicitud virtual. Lon, lat - coordenadas de la ubicación deseada, appid - clave API del servicio OpenWeather;
  • Solicitud API: Weather - el proceso de negocio responsable de interactuar con la API de OpenWeather
  • Expandir Weather: Body Model Out - necesario para desplegar el modelo de respuesta Body

Business Process AppMaster

  • Expandir Weather: Body Model Out_main - expande el modelo principal del cuerpo de la solicitud-respuesta Body para obtener la temperatura (temp).
  • To String - convierte el valor del campo temp en un tipo de cadena;
  • Nexmo: Send SMS - envía un mensaje con información sobre la temperatura (Content) al número de teléfono especificado (Phone)

Configure un programador en la sección de procesos de negocio de la pestaña Programador.

Los ajustes del programador en la pestaña Programador difieren según su tipo.

Vamos a considerar cada uno de ellos en detalle

1. Diario - permite configurar los horarios diarios

Scheduler settings AppMaster

  • 2. Hora - define la hora en UTC+0 a la que el programador iniciará el PB seleccionado;
  • 3. Días de la semana - define los días de la semana en los que trabajará el programador;
  • Inicio automático - si se establece como Verdadero, un nuevo PB no se iniciará si el anterior no se ha completado. Valor por defecto: Falso.
  • Reintentar automáticamente - reinicia el proceso automáticamente si se ha interrumpido/no se ha iniciado con éxito.
Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

Reintentar procesamiento de elementos fallidos - número de intentos para reiniciar el proceso;

Esperar antes de cada intento de reintento - tiempo de retraso antes de cada disparo para reiniciar el proceso;

  • Forzar salida - terminar forzosamente el proceso si no se completa en unos segundos. Verdadero, por defecto. El número de segundos hasta la finalización es de 3 segundos, por defecto.

2. Mensual - planificador mensual

scheduler monthly planner

  • 3. Hora - define la hora en UTC+0 a la que el planificador iniciará el PB seleccionado;
  • Días de la semana - consiste en dos ajustes:

Frecuencia de repetición:

  • Cada primero
  • Cada dos
  • Cada tres
  • Cada cuatro
  • Este día

Día de la semana - define el día de la semana

  • Mes - se determina el mes
  • Arranque automático - Si se establece como Verdadero, no se iniciará un nuevo PSU a menos que se complete pronto. Valor por defecto: Falso.
  • Reintentar automáticamente - reinicia el proceso automáticamente si se interrumpió/no se inició

Reintentar el procesamiento de elementos fallidos - el número de reinicios del proceso;

Esperar antes de cada reintento - tiempo de retraso antes de cada intento de reiniciar el proceso;

  • Forzar salida - Termina un proceso si no se completa en unos segundos. Verdadero, por defecto. El número de segundos hasta la finalización es de 3 segundos, por defecto.

3. Periódicamente - permite configurar de forma flexible la frecuencia del programador

scheduler periodically no code

  • Cada - permite configurar la repetición cada N segundos/minutos/horas/días. Por defecto: cada 1 hora.
  • 4. Iniciar automáticamente - si se establece como Verdadero, un nuevo PA no se iniciará si el anterior no se ha completado. Valor por defecto: Falso.
  • Reintentar automáticamente: reinicia el proceso automáticamente si se ha interrumpido/no se ha iniciado con éxito.

Reintentar procesamiento de elementos fallidos - número de intentos para reiniciar el proceso;

Esperar antes de cada intento de reintento - tiempo de retraso antes de cada disparo para reiniciar el proceso;

  • Forzar salida - terminar forzosamente el proceso si no se completa en unos segundos. Verdadero, por defecto. El número de segundos hasta la finalización es de 3 segundos, por defecto.

4. Después de iniciar la aplicación - el planificador de tareas único

scheduler after Starting App

  • Retraso - define el retraso entre el inicio de la aplicación y el arranque. Por defecto - 0 seg.
  • Reintentar automáticamente - reinicia el proceso automáticamente si se interrumpió/no se inició con éxito

Reintentar procesamiento de elementos fallidos - número de intentos para reiniciar el proceso;

Esperar antes de cada intento de reintento - tiempo de retraso antes de cada disparo para reiniciar el proceso;

  • Forzar salida - terminar forzosamente el proceso si no se completa en unos segundos. Verdadero, por defecto. El número de segundos hasta la finalización es de 3 segundos, por defecto.

5. Antes de terminar la aplicación - ejecuta el programador cada vez que la aplicación termina

scheduler no code

  • 6. Reintentar automáticamente - reinicia el proceso automáticamente si se interrumpió/no se inició con éxito

Reintentar el procesamiento de elementos fallidos - número de intentos para reiniciar el proceso;

Esperar antes de cada intento de reintento - tiempo de retraso antes de cada intento de reiniciar el proceso;

  • Forzar la salida - terminar forzosamente el proceso si no se completa en unos pocos segundos. Verdadero, por defecto. El número de segundos hasta la finalización es de 3 segundos, por defecto.

En la pestaña Params de la configuración del planificador, también es posible pasar parámetros a la entrada de BP cuando es lanzada por el planificador:

Params no-code

En nuestro ejemplo, la configuración del planificador es la siguiente

  • Los mensajes se enviarán todos los días a las 9 am UTC+0
  • Intenta automáticamente reiniciar el proceso 3 veces con un retraso de 10 minutos entre los intentos si el proceso no se inició inmediatamente;
  • Termina forzosamente un proceso si no se ha completado en tres segundos.

scheduler no-code

Nuestra aplicación vive y funciona en el backend, por lo que para que funcione basta con publicarla.

Entradas relacionadas

Cómo desarrollar un sistema de reservas de hotel escalable: una guía completa
Cómo desarrollar un sistema de reservas de hotel escalable: una guía completa
Aprenda a desarrollar un sistema de reservas de hotel escalable, explore el diseño arquitectónico, las características clave y las opciones tecnológicas modernas para brindar experiencias perfectas al cliente.
Guía paso a paso para desarrollar una plataforma de gestión de inversiones desde cero
Guía paso a paso para desarrollar una plataforma de gestión de inversiones desde cero
Explore el camino estructurado para crear una plataforma de gestión de inversiones de alto rendimiento, aprovechando tecnologías y metodologías modernas para mejorar la eficiencia.
Cómo elegir las herramientas de control de salud adecuadas para sus necesidades
Cómo elegir las herramientas de control de salud adecuadas para sus necesidades
Descubra cómo seleccionar las herramientas de control de la salud adecuadas a su estilo de vida y sus necesidades. Una guía completa para tomar decisiones informadas.
EMPIEZA GRATIS
¿Inspirado para probar esto usted mismo?

La mejor manera de comprender el poder de AppMaster es verlo por sí mismo. Haz tu propia aplicación en minutos con suscripción gratuita

Da vida a tus ideas