Возможно ли иметь функцию без учета времени? - PullRequest
0 голосов
/ 26 ноября 2009

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

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

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

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

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

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

1 Ответ

0 голосов
/ 26 ноября 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...