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

Utilização do Agendador de Tarefas no AppMaster

Utilização do Agendador de Tarefas no AppMaster

O Scheduler de tarefas no backend da aplicação AppMaster, como no caso clássico do backend, cria cenários repetitivos. Por exemplo, quando é necessário realizar uma acção específica numa agenda. Um exemplo clássico de tais tarefas é um exemplo de limpeza de ficheiros temporários no servidor, backups semanais, geração de relatórios de acordo com um determinado algoritmo, etc.

Vamos considerar um exemplo de utilização do agendador de tarefas no backend da aplicação AppMaster. Suponha que pretende construir um processo que todas as manhãs às 9h00 enviará ao utilizador o tempo para o seu número de telemóvel.

Assim, a tarefa é dividida em várias fases lógicas:

  • Instalação e configuração do módulo para o envio de mensagens móveis
  • Criação e configuração de um processo API de pedido externo
  • Criação de um programador no backend da aplicação

1. Instalação e configuração do módulo de envio de mensagens móveis. O módulo Nexmo permite integrar na aplicação AppMaster a capacidade de enviar mensagens SMS para um número seleccionado.

Nexmo module

Os seguintes processos empresariais são instalados automaticamente com a instalação do módulo:

  • Nexmo.Send SMS - permite-lhe enviar mensagens para o número especificado através do

Módulo Nexmo:

  • Telefone [telefone] - o número de telefone para o qual a mensagem será enviada;
  • Conteúdo [string] - mensagem de texto;

Nexmo Send SMS

2. O recurso web gratuito OpenWeather API será utilizado como fonte de dados meteorológicos(https://openweathermap.org/api). O primeiro passo é criar um modelo API de pedido externo. Os modelos de pedido de API são apresentados na secção Processo Comercial do separador Pedidos de API Externa. Para criar um novo modelo, clicar em Criar pedido de API.

Create API request AppMaster

Tipo de pedido: GET

Endereço para pedido: https://api.openweathermap.org/data/2.5/weather

Consultar Parames:

  • Lat [string] - latitude
  • Lon [fio] - longitude
  • Appid [string] - Chave API OpenWeather

Como parte desta tarefa, estamos apenas interessados em alguns campos do organismo de resposta na sua maioria(https://openweathermap.org/api/one-call-3).

  • Temp [flutuar] - temperatura
  • Temp_min [float] - temperatura min
  • Temp_max [float] - temperatura máxima
  • Pressão [bóia] - pressão
  • Humidade [flutuar] - humidade

Request GET AppMaster

3. Antes de criar o agendador de tarefas, é necessário criar um Processo Comercial que receba informações meteorológicas através do API. O Processo de Negócio tem o seguinte aspecto:

Business Process no-code AppMaster

  • Make Weather Query Model In - cria um modelo de parâmetros de pedido virtual. Lon, lat - coordenadas do local desejado, appid - chave API do serviço OpenWeather;
  • Pedido de API: Weather - o processo empresarial responsável pela interacção com OpenWeather API
  • Expandir o tempo: Body Model Out - necessário para a implementação do modelo de resposta Body

Business Process AppMaster

  • Expandir o tempo: Body Model Out_main - expande o modelo principal do corpo do corpo de resposta ao pedido, a fim de obter a temperatura (temp).
  • Para String - converte o valor do campo de temperatura em tipo string;
  • Nexmo: Enviar SMS - envia uma mensagem com informação sobre a temperatura (Conteúdo) para o número de telefone especificado (Telefone)

Estabelecer um agendador na secção de processos empresariais do separador Agendador.

As definições do agendador no separador Agendador diferem consoante o seu tipo.

Vamos considerar cada uma delas em detalhe

1. Diário - permite a configuração de horários diários

Scheduler settings AppMaster

  • Tempo - define o tempo em UTC+0 em que o programador iniciará o BP seleccionado;
  • Dias da semana - define os dias da semana em que o agendador irá trabalhar;
  • Início automático - se definido para True, um novo BP não começará se o anterior não tiver sido completado. Valor por defeito: Falso.
  • Tentativa automática - reinicia o processo automaticamente se tiver sido interrompido/não iniciado com sucesso.
Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

Tentativa de novo processamento de itens falhados - número de tentativas para reiniciar o processo;

Aguardar antes de cada tentativa de nova tentativa - tempo de atraso antes de cada tentativa para reiniciar o processo;

  • Force quit - termina o processo à força se não for concluído em poucos segundos. Verdade, por defeito. O número de segundos até à conclusão é de 3 segundos, por defeito.

2. Mensal - planeador mensal

scheduler monthly planner

  • Tempo - define o tempo em UTC+0 em que o programador iniciará o BP seleccionado;
  • Dias da semana - consiste em duas definições:

Frequência de repetição:

  • Cada primeira
  • A cada segundo
  • A cada três
  • A cada quatro
  • Este dia

Dia da semana - define o dia da semana

  • Mês - o mês é determinado
  • Arranque Automático - Se definido para True, uma nova PSU não será iniciada, a menos que esteja concluída em breve. Valor por defeito: Falso.
  • Tentativa automática - reinicia automaticamente o processo se este for interrompido/não iniciado

O novo processamento de itens falhados - o número de processos recomeça;

Esperar antes de cada nova tentativa - adiar o tempo antes de cada tentativa de reiniciar o processo;

  • Force Quit - encerra um processo se este não for concluído em poucos segundos. Verdade, por defeito. O número de segundos até à conclusão é de 3 segundos, por defeito.

3. Periodicamente - permite configurar flexivelmente a frequência do agendador

scheduler periodically no code

  • Cada - a capacidade de definir a repetibilidade a cada N segundos/minutos/horas/dia. Default: a cada 1 hora.
  • Início automático - se definido para True, um novo BP não começará se o anterior não tiver sido completado. Valor por defeito: Falso.
  • Tentativa automática - reinicia o processo automaticamente se tiver sido interrompido/não iniciado com sucesso.

Tentativas de reiniciar o processo - número de tentativas de reiniciar o processo;

Aguardar antes de cada tentativa de nova tentativa - tempo de atraso antes de cada tentativa para reiniciar o processo;

  • Forçar a desistir - terminar forçosamente o processo se não for concluído em poucos segundos. Verdade, por defeito. O número de segundos até à conclusão é de 3 segundos, por defeito.

4. Depois de iniciar a aplicação - o planeador de tarefas de tempo único

scheduler after Starting App

  • Atraso - define o atraso entre o início da aplicação e o arranque. Default - 0 seg
  • Tentativa automática - reinicia automaticamente o processo se este for interrompido/não iniciado com sucesso

Tentativas de reiniciar o processo - número de tentativas de reiniciar o processo;

Aguardar antes de cada tentativa de nova tentativa - tempo de atraso antes de cada tentativa para reiniciar o processo;

  • Forçar a desistir - terminar forçosamente o processo se não for concluído em poucos segundos. Verdade, por defeito. O número de segundos até à conclusão é de 3 segundos, por defeito.

5. Antes de terminar a aplicação - executar o agendador cada vez que a aplicação termina

scheduler no code

  • Tentativa automática - reinicia automaticamente o processo se este for interrompido/não iniciado com sucesso

Processamento de itens falhados - número de tentativas para reiniciar o processo;

Aguardar antes de cada tentativa de nova tentativa - tempo de atraso antes de cada tentativa de reiniciar o processo;

  • Forçar a desistência - terminar forçosamente o processo se não for concluído em poucos segundos. Verdade, por defeito. O número de segundos até à conclusão é de 3 segundos, por defeito.

No separador Params das definições do agendador, é também possível passar parâmetros para a entrada do BP quando este é lançado pelo agendador:

Params no-code

No nosso exemplo, as definições do agendador têm este aspecto:

  • As mensagens serão enviadas todos os dias às 9 horas UTC+0
  • Tenta automaticamente reiniciar o processo 3 vezes com um atraso de 10 minutos entre tentativas, se o processo não tiver começado imediatamente;
  • Termina forçosamente um processo se este não tiver sido concluído em três segundos.

scheduler no-code

A nossa aplicação vive e trabalha no backend, por isso, para que funcione, basta publicá-la.

Posts relacionados

Como desenvolver um sistema de reserva de hotel escalável: um guia completo
Como desenvolver um sistema de reserva de hotel escalável: um guia completo
Aprenda a desenvolver um sistema de reservas de hotéis escalável, explore o design de arquitetura, os principais recursos e as opções de tecnologia modernas para oferecer experiências perfeitas ao cliente.
Guia passo a passo para desenvolver uma plataforma de gestão de investimentos do zero
Guia passo a passo para desenvolver uma plataforma de gestão de investimentos do zero
Explore o caminho estruturado para criar uma plataforma de gestão de investimentos de alto desempenho, aproveitando tecnologias e metodologias modernas para aumentar a eficiência.
Como escolher as ferramentas de monitoramento de saúde certas para suas necessidades
Como escolher as ferramentas de monitoramento de saúde certas para suas necessidades
Descubra como selecionar as ferramentas de monitoramento de saúde certas, adaptadas ao seu estilo de vida e requisitos. Um guia abrangente para tomar decisões informadas.
Comece gratuitamente
Inspirado para tentar isso sozinho?

A melhor maneira de entender o poder do AppMaster é ver por si mesmo. Faça seu próprio aplicativo em minutos com assinatura gratuita

Dê vida às suas ideias