Jump to content

Отправка сообщений посредством cron задачи


chaker
 Share

Recommended Posts

Уважаемые специалисты!

 

Столкнулся с проблемой долгой отправки сообщений на форум. Методом проб определил, что виновник «торжества» — отправка почты. Почта отправляется посредством SMTP сервера, который физически находится на соседнем сервере. Определил это отправив сообщение в раздел без подписчиков. Там сообщение ушло куда быстрее.

 

В связи с вышеизложенными мыслями пришла идея отправлять письма раз в 5-10 минут с помощью cron задачи. Т.е. методика следующая:

1. При отправке сообщений в базу при необходимости заносится запись где есть нужная информация.

2. Раз в 5-10 минут запускается скрипт(можно совершенно отдельный от форумного движка), который получает из базы еще не отправленные письма и отправляет их. В случаи удачи помечает как отправленные.

 

Перейду собственно к самому вопросу:

В какую сторону копать чтоб реализовать этот замысел? Есть ли модификации движка уже реализующие эту задачу?

 

Заранее спасибо за помощь!

Link to comment
Share on other sites

Я не сильно в этом разбираюсь, но мне техподдержка как-то советывала, что если я не удовлетворен работой системного планировщика IPB по обработке отправки массовой корреспонденции, то я могу настроить обработку скрипта отправки с помощью серверного crona. Думаю, что обладая навыками в этом, нетрудно это организовать.

 

Экспорт этой задачи системного планировщика IPB дает такой результат:

task.xml

Link to comment
Share on other sites

Отправка почты, теоритически, должна происходить каждую минуту, но на слабопосещаемых форумах встроенный планировщик неэффективен.

 

Гайд по подключению системного планировщика есть в АЦ -> Система -> Планировщик задач, кнопка "Использовать Cron". Задача, на котрую требуется настроить cron, называется "Отправка рассылки", найдёте её во вкладке планировщика "Пользователи".

 

P.S. Ещё вот это почитайте - http://habrahabr.ru/post/137337/

Что то такое должно в итоге получиться в crontab:

10   *   *   *   *   /usr/bin/php -q /путь_к_директории_форума/interface/task.php 0d7a7af1ca4c90c4f18b77b0a09c9784 < /dev/null > /путь_к_директории_логов/myBulkmail.log &

  • Upvote 2
Link to comment
Share on other sites

Вы меня скорее всего не правильно поняли.

 

Имелась ввиду отправка мейлов подписчикам на тему/форум или при отправке ЛС.

Link to comment
Share on other sites

А для уведомлений есть две задачи во вкладке "Форум", ежедневные и еженедельные. Если выбрана опция "Немедленно", то отправка производится сразу после добавления темы/сообщения и планировщик не используется. Уведомления о ЛС тоже сразу отправляются, если в настройках уведомлений соответствующий чекбокс отмечен.

  • Upvote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...