Здравствуйте! Пишу модуль рассылок, который отправляет людям письма с товарами,у которых определенные значениями в свойствах. Все данные, включая время, когда должна начаться рассылка, хранятся в своей таблице. И не могу пока придумать, как заставить битрикс в нужное время, найти нужную запись в таблице и сформировать массив товаров. Есть только идея, что при сохранении сценария рассылки, создавать агента с нужными параметрами, который в указанное время лезет в таблицу, находит нужную запись и формирует рассылку. Можете подсказать, как лучше решить такую проблему?
или шаманить с агентом, как вы писали, или написать скрипт, который будет дергать записи, потом проверять время отправки, сверять с текущим и при необходимости отправлять.
а сам скрипт выполнять по крону с определенной периодичностью
Предложу комбинированный подход:
по крону с заданной периодичностью создавать агентов на отправку, например:
крон скрипт запускается каждый 30 минут и собирает все записи, которые должны отправится в течении следующих 30 минут и по ним создает агентов. Соответственно, чем больше интервал, тем больше очередь.
Тут параметры нужно подбирать, в зависимости от посещаемости сайта, т.к. если посещаемость малая, то на пользователей может ложится большая нагрузка по обработке агентов. Или могут быть определенные мертвые интервалы. В таких случаях лучше отправку ставить на крон и проверять каждые пару минут, ну или выполнение агентов на крон и так же, каждые пару минут выполнять. В общем, импровизируйте