• 0
Sign in to follow this  
Alexandre R. Alves

Identificar uma nova venda

Question

9 answers to this question

Recommended Posts

  • 0

Toda mudança no pedido gera uma notificação . Alguns eventos geram atualização no shipment também. Pelo que eu percebo quando o cliente escreve uma mensagem no pedido ou le também dispara notificações . Todas essas notificações são da mesma ordem. Ai tem a gravação , confirmação do pagamento , Uma mensagem de boas vindas que eu disparo

 

image.png.8f3ba79a673ff4cce3fc5399d93eb6c0.png

 

Por isso que não é bom reagir instantaneamente as notificações . Eu acho melhor simplesmente armazenar a notificação e depois um job lê notificações  especificas (um para processar orders por exemplo ) e processa sem redundância

Edited by gbandoni

Share this post


Link to post
Share on other sites
  • 0
On 7/30/2018 at 10:11 AM, Alexandre R. Alves said:

Quero identificar uma nova venda uma única vez, como faço isso? tô monitorando as notificações do tipo orders_v2, percebi que recebo várias, pq isso??

conforme o @gbandoni disse, a notificação não representa necessariamente um pedido novo, e sim interações em um pedido (pedido novo, pagamento, postagem, etc)

o controle disso deve ser feito em seu sistema

Share this post


Link to post
Share on other sites
  • 0
On 7/30/2018 at 11:13 AM, gbandoni said:

Toda mudança no pedido gera uma notificação . Alguns eventos geram atualização no shipment também. Pelo que eu percebo quando o cliente escreve uma mensagem no pedido ou le também dispara notificações . Todas essas notificações são da mesma ordem. Ai tem a gravação , confirmação do pagamento , Uma mensagem de boas vindas que eu disparo

 

image.png.8f3ba79a673ff4cce3fc5399d93eb6c0.png

 

Por isso que não é bom reagir instantaneamente as notificações . Eu acho melhor simplesmente armazenar a notificação e depois um job lê notificações  especificas (um para processar orders por exemplo ) e processa sem redundância

eu particularmente acho melhor reagir instantaneamente, pelo menos no nosso caso,  como temos grandes players, eles necessitam de informações em tempo real... mas claro que tudo depende de cada caso =]

Share this post


Link to post
Share on other sites
  • 0
8 minutes ago, mldev said:

eu particularmente acho melhor reagir instantaneamente, pelo menos no nosso caso,  como temos grandes players, eles necessitam de informações em tempo real... mas claro que tudo depende de cada caso =]

 

Eu tenho uma aplicação multi-thread que le as minhas notificações de um determinado tipo (tipo orders) e faz o que precisa fazer com ela . Na fase de protótipo mesmo que eu tomasse algumas preocupações acontecia de duas threads processarem ao mesmo tempo a mesma order e gerarem pedidos duplicados. Ai eu passei a armazenar numa tabela e olho a cada minuto. O resultado é que a minha taxa de pedidos duplicados mudou para 2 em 6 meses.

Mas como tu disse. Cada caso é um caso e o que funciona para jose nao necessariamente funciona para joao

Share this post


Link to post
Share on other sites
  • 0
3 minutes ago, gbandoni said:

 

Eu tenho uma aplicação multi-thread que le as minhas notificações de um determinado tipo (tipo orders) e faz o que precisa fazer com ela . Na fase de protótipo mesmo que eu tomasse algumas preocupações acontecia de duas threads processarem ao mesmo tempo a mesma order e gerarem pedidos duplicados. Ai eu passei a armazenar numa tabela e olho a cada minuto. O resultado é que a minha taxa de pedidos duplicados mudou para 2 em 6 meses.

Mas como tu disse. Cada caso é um caso e o que funciona para jose nao necessariamente funciona para joao

para esse tipo de situação é melhor trabalhar com um sistema de fila em thread única, Node é muito bom para isso

Share this post


Link to post
Share on other sites
  • 0
23 hours ago, mldev said:

conforme o @gbandoni disse, a notificação não representa necessariamente um pedido novo, e sim interações em um pedido (pedido novo, pagamento, postagem, etc)

o controle disso deve ser feito em seu sistema

Entendi, vou tratar isso internamente, mas pra isso preciso identificar quando é um pedido novo, gravo esse pedido e depois fico monitorando as notificações para verificar se ouve alguma alteração.

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, Alexandre R. Alves said:

Entendi, vou tratar isso internamente, mas pra isso preciso identificar quando é um pedido novo, gravo esse pedido e depois fico monitorando as notificações para verificar se ouve alguma alteração.

Isso você precisa tratar na sua aplicação pois não tem um jeito de identificar se um pedido foi lido. E tenha em mente que nem sempre a atualização pode ser relevante. Por exemplo , se o comprador lê a mensagem que tu escreveu nas mensagens da venda será gerada uma notificação , mas não necessariamente útil a não ser que você controle isso

 

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, Alexandre R. Alves said:

Entendi, vou tratar isso internamente, mas pra isso preciso identificar quando é um pedido novo, gravo esse pedido e depois fico monitorando as notificações para verificar se ouve alguma alteração.

é só você gravar em seu DB favorito, se a chave não existir é novo, se já existir é só comparar os JSON para ver se houve alteração

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this