|
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
|
|
Уведомления пользователя по почте04.03.2014, 21:38. Показов 1299. Ответов 8
Метки нет (Все метки)
Добрый вечер. Не имею ни малейшего представления, как можно решить следующую задачу. Давай те представим ситуацию, в которой Петя, добавляется в друзья к Васе. Вася получает уведомление на е-mail о заявке нового пользователя ему в друзья. Вася заходит в личный кабинет и одобряет заявку Пети. Но вот вопрос. А что если Петя, отменил, свою заявку к Васе? Передумал, добавляться к нему в друзья. А уведомление уже было отправлено на почту к Васе. Как быть? Как правильно реализовать уведомления на почту о добавлениях в друзья? Код необязателен. Интересует сам механизм.
0
|
|
| 04.03.2014, 21:38 | |
|
Ответы с готовыми решениями:
8
Уведомления для пользователя Как провести пользователя по сайту без его уведомления Facebook, уведомления о постах пользователя |
|
16 / 16 / 6
Регистрация: 14.11.2013
Сообщений: 86
|
|
| 05.03.2014, 02:11 | |
|
Поставить время на одобрение заявки.
При отмене заявки время = 0.
1
|
|
|
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
|
|
| 05.03.2014, 07:10 | |
|
А никак, да и зачем? Единственно что можно сделать предупредить Васю о том что заявка на добавление в друзья отменена, если Петя клацнет по кнопке отменить заявку.
1
|
|
|
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
|
||||||
| 05.03.2014, 15:16 [ТС] | ||||||
|
Ко мне пришла следующая идея. Но для её реализации потребуется БД с таблицей, в которую мы будем добавлять новые "задачи". Когда Петя добавляется к Васе в друзья, мы не отправляем уведомление на e-mail сразу. А действуем по следующей схеме:
файл обработчик:
Как такой вариант? Добавлено через 6 минут Меня интересует также следующий вопрос. Если я буду использовать таким образом sleep(900);, это значит, что обработчик у меня будет висеть в памяти 15 минут. Чревато ли это какими-нибудь последствиями? Так как пользователей, может быть много и если в памяти будет висеть множество подобных процессов, это наверное на что-то влияет.
0
|
||||||
|
|
|
| 05.03.2014, 16:47 | |
|
разбейте задачу на несколько отдельных команд.
первая будет добавлять таску в таблицу вторая будет делать рассылку, только тех заданий у которых время создания более пятнадцати минут назад третья будет, в случае отказа добавляться, удалять таску Таким образом не надо не каких слипов.
1
|
|
|
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
|
|
| 05.03.2014, 16:50 | |
|
плохая идея на счет 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 [ТС] | |
|
webphp. Спасибо. Решил все таки воспользоваться CRON'ом, по тому же принципу.
0
|
|
|
|
|
| 05.03.2014, 16:57 | |
|
Ну, а я просто не вижу смысла во всех этих ухищрениях. На мой взгляд лучше всего вариант с уведомлением о том, что заявка отменена. Немного хуже вариант с рассылкой в определенное время, т.е. при наступлении момента Х запускается скрипт, который собирает всю инфу с таблиц БД и рассылает ее кому нужно. Можно дать возможность пользователям самим указывать когда наступит для них этот момент Х.
1
|
|
|
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
|
|
| 05.03.2014, 17:13 [ТС] | |
|
Решил сделать следующим образом. На сервере, работает задача, которая каждые 10 минут запускает php скрипт. В нём мы смотрим, что у нас имеется в отдельной таблице БД, специально отведённой для нашей цели. Если в этой таблице находим запись, в которой Петя, отправил Васе заявку в друзья и если эта заявка была отправлена более 10 минут назад, то отправляем Васе уведомление на почту. И так, со всеми остальными записями.
Если Петя отменил свою заявку, то удаляем запись из БД. И наш скрипт, не отправит уведомление Васе, так как не найдёт соответствующую запись. Добавлено через 3 минуты И более того, для экономии ресурсов, мы проверяем, находится ли Вася в офлайне. Если да, то отправляем ему уведомление на почту.
0
|
|
| 05.03.2014, 17:13 | |
|
Помогаю со студенческими работами здесь
9
По поводу окошка уведомления о новой почте! Как получать по электронной почте уведомления о сохранении исполняемых файлов в общей папке? Как сократить время отправки уведомления по почте в CMS "Малый бизнес"? Доступ к почте зарегистрированного пользователя Разработка службы уведомления для пользователя Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|