- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Делаю рассылку sms.
Например, рассылка назначена на
2014-07-29 22:20:00
php файл по крону запускается каждую минуту.
Если время date('Y-m-d H:i:00', time()) = 2014-07-29 22:20:00 - производится рассылка по параметрам.
Пытаюсь реализовать цикличные рассылки, т.е. например каждый час.
У каждого часа есть общие параметр - минуты.
Т.е. такой запрос в mysql - MINUTE(`time`) = '" . date('i', time()) . "' // 20 == 20
А как быть, когда пользователь задает рассылку в цикле, каждые n часов? Каждые 2 часа? каждые 5 недель и т.п.?
Спасибо.
Т.е. такой запрос в mysql - MINUTE(`time`) = '" . date('i', time()) . "' // 20 == 20
Получается, что будет отправляться всю эту минуту столько раз, сколько будет выполнен данный запрос. Если конечно секунды не учтены и не ставится какой-либо "флаг" отсылки.
А как быть, когда пользователь задает рассылку в цикле, каждые n часов?
Берете ЧАСЫ, а не минуты. Если делится на n без остатка, значит время пришло. Только опять же не забудьте про минуты и секунды, но лучше ставить "флаг" отправки для защиты от возможных сбоев.
Удачи!
$query = mysql_query("
SELECT
`id`,
`params`
FROM
`mass_mailing`
WHERE
MINUTE(`time`) = '" . date('i', $time) . "'
");
modelist, скрипт по крону выполняется 1 раз каждую минуту. Не каждую секунду. Поэтому проверять секунды нет необходимости.
Вполне достаточно сравнить, равняется ли MINUTE('2014-07-29 22:20:00') числу 20, для выборки каждый час.
Чтобы делать выборку каждую неделю, месяц и т.п. можно уже делат ьвыборку, используя DATE_FORMAT().
Но как выбирать каждые, например, 5 недель от заданной, не могу додуматься.
а не проще хранить заданный интервал + время когда должна произойти рассылка в таймштампе и после выполнения апдейтить таймштамп от текущего + интервал, а по крону просто сравнивать таймштамп?
Ну и для разовых заданий флаг добавить.
по поводу минуты... а при залегании сервера что произойдет? минута - крайне мало...
апдейтить таймштамп от текущего + интервал
То, что нужно! Спасибо.