Вопрос

Я пытаюсь установить напоминание в системе для срабатывания в определенное время.

Это веб-приложение, поэтому оно не всегда будет в памяти.

В идеале я бы хотел избежать использования службы или задания на сервере (в основном из любопытства, чтобы посмотреть, есть ли более эффективный способ сделать это)

Например, представьте, сколько предложений Ebay постоянно заканчивается, а электронные письма отправляются, по-видимому, идеально вовремя.

Люди понимают, что есть большой цикл, повторяющийся снова и снова, перемещающий элементы в очередь и т. д. ... Или есть что-то более низкое, помогающее (хранимые процедуры, триггеры и т. д.)

Спасибо всем.

Это было полезно?

Решение

Что вы должны понимать в отношении eBay - и большинства крупных веб-сайтов, поддерживаемых базой данных, - это то, что взаимодействия между людьми и базой данных, которые проходят через веб-сервер, являются лишь частью (иногда очень малой частью) функциональности система.

Чтобы использовать eBay в качестве примера, электронное письмо, которое отправляется по истечении аукциона, не обрабатывается веб-сервером. У них гораздо больше шансов, что это будет написано. Другими словами, на ряде их систем запущена другая программа, которая просматривает базу данных на предмет завершенных аукционов, обрабатывает их, отправляет электронные письма и т. Д.

Если бы я делал что-то подобное (хотя и в гораздо меньших масштабах), мои веб-службы были бы построены обычным способом, но у меня была бы задача, которая запускалась автоматически каждые несколько минут для выполнения работ по обслуживанию. Он запускается, просматривает базу данных для работы, обрабатывает все, что требуется, затем завершает работу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top