42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
|
|
1 | |
Уведомления пользователя по почте04.03.2014, 21:38. Показов 831. Ответов 8
Метки нет Все метки)
(
Добрый вечер. Не имею ни малейшего представления, как можно решить следующую задачу. Давай те представим ситуацию, в которой Петя, добавляется в друзья к Васе. Вася получает уведомление на е-mail о заявке нового пользователя ему в друзья. Вася заходит в личный кабинет и одобряет заявку Пети. Но вот вопрос. А что если Петя, отменил, свою заявку к Васе? Передумал, добавляться к нему в друзья. А уведомление уже было отправлено на почту к Васе. Как быть? Как правильно реализовать уведомления на почту о добавлениях в друзья? Код необязателен. Интересует сам механизм.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
04.03.2014, 21:38 | |
Ответы с готовыми решениями:
8
Уведомления для пользователя Как провести пользователя по сайту без его уведомления Facebook, уведомления о постах пользователя По поводу окошка уведомления о новой почте! |
16 / 16 / 6
Регистрация: 14.11.2013
Сообщений: 86
|
|
05.03.2014, 02:11 | 2 |
Поставить время на одобрение заявки.
При отмене заявки время = 0.
1
|
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
|
||||||
05.03.2014, 15:16 [ТС] | 4 | |||||
Ко мне пришла следующая идея. Но для её реализации потребуется БД с таблицей, в которую мы будем добавлять новые "задачи". Когда Петя добавляется к Васе в друзья, мы не отправляем уведомление на e-mail сразу. А действуем по следующей схеме:
файл обработчик:
Как такой вариант? Добавлено через 6 минут Меня интересует также следующий вопрос. Если я буду использовать таким образом sleep(900);, это значит, что обработчик у меня будет висеть в памяти 15 минут. Чревато ли это какими-нибудь последствиями? Так как пользователей, может быть много и если в памяти будет висеть множество подобных процессов, это наверное на что-то влияет.
0
|
05.03.2014, 16:47 | 5 |
разбейте задачу на несколько отдельных команд.
первая будет добавлять таску в таблицу вторая будет делать рассылку, только тех заданий у которых время создания более пятнадцати минут назад третья будет, в случае отказа добавляться, удалять таску Таким образом не надо не каких слипов.
1
|
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
|
|
05.03.2014, 16:50 | 6 |
плохая идея на счет sleep.
Тогда уж по такой схеме нужно делать так: 1. Заносишь в таблицу данные с временем (time) 2. На часто посещаемой странице делаешь проверку (что то типа крона, ну или уже кроном воспользуйся) 3. В обработчике проверяешь все записи на время, к примеру если time + 15 минут меньше нынешнего времени, то. 4. Берешь ID юзера из таблицы table_tasks, дергаешь его email и отправляешь письмо. Это наверное будет оптимальный вариант и самый правильный. ПС. Пока писал уже опередили xD
1
|
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
|
|
05.03.2014, 16:52 [ТС] | 7 |
webphp. Спасибо. Решил все таки воспользоваться CRON'ом, по тому же принципу.
0
|
05.03.2014, 16:57 | 8 |
Ну, а я просто не вижу смысла во всех этих ухищрениях. На мой взгляд лучше всего вариант с уведомлением о том, что заявка отменена. Немного хуже вариант с рассылкой в определенное время, т.е. при наступлении момента Х запускается скрипт, который собирает всю инфу с таблиц БД и рассылает ее кому нужно. Можно дать возможность пользователям самим указывать когда наступит для них этот момент Х.
1
|
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
|
|
05.03.2014, 17:13 [ТС] | 9 |
Решил сделать следующим образом. На сервере, работает задача, которая каждые 10 минут запускает php скрипт. В нём мы смотрим, что у нас имеется в отдельной таблице БД, специально отведённой для нашей цели. Если в этой таблице находим запись, в которой Петя, отправил Васе заявку в друзья и если эта заявка была отправлена более 10 минут назад, то отправляем Васе уведомление на почту. И так, со всеми остальными записями.
Если Петя отменил свою заявку, то удаляем запись из БД. И наш скрипт, не отправит уведомление Васе, так как не найдёт соответствующую запись. Добавлено через 3 минуты И более того, для экономии ресурсов, мы проверяем, находится ли Вася в офлайне. Если да, то отправляем ему уведомление на почту.
0
|
05.03.2014, 17:13 | |
Помогаю со студенческими работами здесь
9
Как получать по электронной почте уведомления о сохранении исполняемых файлов в общей папке? Как сократить время отправки уведомления по почте в CMS "Малый бизнес"? Доступ к почте зарегистрированного пользователя Разработка службы уведомления для пользователя Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |