Pergunta

Estou tentando definir um lembrete em um sistema para disparar em um determinado momento.

Este é um aplicativo baseado na Web, por isso não é como se estivesse na memória o tempo todo.

Idealmente, gostaria de evitar usar um serviço ou trabalho no servidor (principalmente por curiosidade, para ver se há uma maneira mais eficiente de fazê -lo)

Por exemplo, imagine quantos lances no eBay estão constantemente terminando o tempo todo, e e -mails sendo enviados aparentemente perfeitamente no tempo.

As pessoas reconhecem, há apenas um grande loop passando repetidamente, movendo itens para uma fila etc ... ou há algo de nível mais baixo ajudando (procedimentos armazenados, gatilhos etc.)

Obrigado a todos.

Foi útil?

Solução

O que você precisa perceber sobre o eBay - e a maioria dos sites grandes para o banco de dados - é que as interações entre seres humanos e o banco de dados que vêm pelo servidor da Web são apenas uma peça (às vezes uma parte muito pequena) da funcionalidade do sistema.

Para usar o eBay como exemplo, o email que sai quando os leilões expiram não são tratados por um servidor da Web. Eles são muito mais propensos a ter esse script. Em outras palavras, existe outro programa em execução em vários sistemas que analisam o banco de dados para leilões finais, faça algum processamento neles, envie e -mails etc.

Se eu estivesse fazendo algo semelhante (embora em uma escala muito menor), eu teria meus serviços da Web construídos da maneira usual, mas que tenham um trabalho que seja executado automaticamente a cada poucos minutos para fazer o trabalho de manutenção. Ele começaria, procuraria o banco de dados para o trabalho, processaria qualquer coisa necessária e depois saia.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top