Executando verificação de segurança...
1

Melhor forma de redirecionar usuário após tempo limite em chatbot

Tenho um chatbot em TypeScript onde preciso implementar a seguinte lógica:

  • Na primeira mensagem do usuário, ele recebe uma lista de abas para escolher.
  • Se ele não selecionar uma aba dentro de um tempo limite, deve ser automaticamente redirecionado para uma aba padrão.

Atualmente, estou usando um setTimeout para agendar o redirecionamento e um AbortController para cancelar caso o usuário escolha uma aba antes do tempo limite. No entanto, conforme o fluxo de usuários aumentou, comecei a notar bugs e lentidão nesse processo.

Diante disso, estou considerando mover essa lógica para uma fila (atualmente utilizo RabbitMQ no projeto).

Essa seria a melhor abordagem? Existe uma solução mais eficiente para lidar com isso em alta escala?

Agradeço!

Carregando publicação patrocinada...
1

Seria bom dizer onde o chatbot foi construído, se estiver utilizando Next.js não tem o pq da lentidão, se você colocar no lado do client-side.

Se estar colocando isso no lado do server-side acredito que não seja uma boa escolha, até daria para fazer, salvando um timestamp no banco de dados e verificar com o atual.

1

Estou desenvolvendo com Vue.js, mas preciso garantir que essa lógica não fique no lado do cliente para evitar qualquer possibilidade de manipulação pelo usuário.

Também preciso garantir que, se o servidor tiver algum problema, os dados dos usuários não se percam e eles possam ser redirecionados sem complicação depois de uma queda.

1

O que seria a manipulação que o usuário iria fazer?

Você pode salvar o progresso no localstorage caso perca contato com o servidor, mesmo que ele atualize a página o progresso vai estar lá.

Se entender o que realmente o que ele iria perder, não consigo pensar em algo.