Analisando propostas

Criação de Estrutura de Disparo de Campanhas

Publicado em 23 de Junho de 2023 dias na TI e Programação

Sobre este projeto

Aberto

Hoje temos uma plataforma SaaS de envio de mensagens via WhatsApp, utilizando a nossa API interna, e buscamos uma forma de otimização e melhorar o processo de envio de campanhas agendada.

Nosso problema atual é a sobrecarga de recursos sendo consumidos tanto para o agendamento dos históricos dos conteúdos a serem enviados, quanto também para o processamento do disparo das mensagens.

Buscamos alguém que já tenha trabalho com processamento de filas com Horizon no Laravel e com experiencia em disparo de mensageira, seja por email ou consumindo alguma api, como é nosso caso.

Atualmente nosso fluxo é divido em duas etapas, Trigger e SendContent.

O Trigger é processado via Schedule a cada 5 minutos, o qual pega todos records que o Status está como agendado, faz algumas verificações, e dispacha para um Job, fazer o agendamento dos envios envios.

Esse Job, cria um record de histórico com a data prevista para o disparo da mensagem, sendo criado um historico para cada mensagem a ser enviada para cada contato. Para uma campanha de 100 contatos enviando 3 conteúdos, é gerado 300 records de histórico.

Por fim temos um processo Schedule a cada 2 minutos, que pega todos os históricos que a data de envio está entre agora e os próximos 2 minutos, e dispacha eles para um job, que efetivamente irá fazer o envio do conteúdo.

Contexto Geral do Projeto

Atualmente nosso fluxo é divido em duas etapas, Trigger e SendContent. O Trigger é processado via Schedule a cada 5 minutos, o qual pega todos records que o Status está como agendado, faz algumas verificações, e dispacha para um Job, fazer o agendamento dos envios envios. Esse Job, cria um record de histórico com a data prevista para o disparo da mensagem, sendo criado um historico para cada mensagem a ser enviada para cada contato. Para uma campanha de 100 contatos enviando 3 conteúdos, é gerado 300 records de histórico. Por fim temos um processo Schedule a cada 2 minutos, que pega todos os históricos que a data de envio está entre agora e os próximos 2 minutos, e dispacha eles para um job, que efetivamente irá fazer o envio do conteúdo.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por A. M.