Pregunta

Estoy intentando configurar un recordatorio en un sistema para que se active en un momento determinado.

Esta es una aplicación basada en web, por lo que no es como si estuviera en la memoria todo el tiempo.

Idealmente, me gustaría evitar utilizar un servicio o trabajo en el servidor (principalmente por curiosidad, para ver si hay una forma más eficiente de hacerlo)

Por ejemplo, imagine cuántas ofertas de Ebay terminan constantemente todas las veces y los correos electrónicos se envían aparentemente perfectamente a tiempo.

¿Reconocen las personas que hay un gran bucle que pasa una y otra vez, mueve elementos a una cola, etc.? O hay algo de nivel inferior que ayuda (procedimientos almacenados, disparadores, etc.)

Gracias a todos.

¿Fue útil?

Solución

Lo que tiene que darse cuenta de eBay, y de la mayoría de los sitios web respaldados por bases de datos de gran tamaño, es que las interacciones entre los seres humanos y la base de datos que vienen a través del servidor web son solo una parte (a veces una parte muy pequeña) de la funcionalidad de sistema.

Para usar eBay como ejemplo, el correo electrónico que sale cuando las subastas expiran no es manejado por un servidor web. Es mucho más probable que tengan ese guión. En otras palabras, hay otro programa que se ejecuta en varios de sus sistemas que buscan en la base de datos las subastas finalizadas, las procesan, envían correos electrónicos, etc.

Si estuviera haciendo algo similar (aunque en una escala mucho menor), mis servicios web se construirían de la forma habitual, pero se ejecutará un trabajo cada pocos minutos para realizar el trabajo de mantenimiento. Se iniciará, mirará la base de datos para trabajar, procesará todo lo que se requiera y luego saldrá.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top