Я создал сайт торгов для клиента, на котором пользователь публикует товар и устанавливает продолжительность аукциона.Элемент сначала находится в состоянии Ожидание , пока администратор не утвердит его или не пройдет 12 часов после того, как пользователь впервые опубликовал его.С этого момента товар получает Опубликовано , и другие пользователи могут делать ставки на него.По истечении периода аукциона предмет должен быть Закрыт , и предмет, выигравший самую высокую цену, выигрывает предмет ...
В дополнение к этому, мне нужно отправлять уведомления по электронной почте ...
- Администратору после размещения нового предмета.
- Победителю после выигрыша.
- Владельцу предмета после закрытия аукциона.
- Администратору после закрытия аукциона и определения победителя (т. Е. Люди фактически делают ставки).
В настоящее время я вызываю какой-то метод в моембизнес-уровень, который проверяет, есть ли какие-либо находящиеся на рассмотрении товары, прошедшие 12-часовой период для их публикации, и есть ли опубликованные товары, которые прошли через аукцион, чтобы закрыть их.Этот метод вызывается из нескольких мест, таких как домашняя страница веб-сайта, страница поиска элемента и другие ... На самом деле это вызывает у меня проблемы ( См. Этот вопрос ).Поэтому я думаю, что стоит найти альтернативное решение, которое помогло бы мне избавиться от всех этих проблем, которые, скорее всего, связаны с плохим дизайном.
- Должен ли я централизовать это, вызывая этот метод из одного места иотправлять электронные письма соответственно?
- Должен ли я делегировать все это на какое-то запланированное задание?В таком случае, в какие сроки целесообразно выполнить эту задачу?
- Любые другие предложения?