У меня настроено представление о том, что я хочу получать по электронной почте мне (или кому бы то ни было, что унаследует мою позицию в будущем), аналогично тому, как отправляется отчет об обновлении по электронной почте.
Это представление все настроено и извлекает данные, которые мне нужны. У меня также есть внешний cron, который может запускать любую ссылку, с которой я говорю (например, внешнюю ссылку cron), так что я могу сделать ежемесячный запуск, если дать ссылку для вставки. Часть, которую я не могу понять, что делать как настроить это для отправки по электронной почте или как получить ссылку для запуска через внешнее задание cron / настроить запуск через внутренний cron первого числа месяца
У вас может быть больше решений здесь, в конце концов, вам решать, что подходит вам лучше:
В пользовательском модуле я бы реализовал hook_cron (). В этом крюке я
будет выполнять вид, который я хочу (это не сложно, дайте мне знать, если вы
нужна помощь здесь), а затем просто по электронной почте весь вывод (я думаю,
это то что ты хочешь). Теперь вы хотите, чтобы это письмо было отправлено
только один раз в месяц. Для этого у вас может быть две возможности:
Другое решение состоит в том, чтобы иметь конечную точку на вашем сайте, а не
hook_cron (), который в основном сделал бы то же самое, что и в предыдущем
Решение: вызовите просмотр и отправьте письмо. Разница в том, что
вы можете настроить свой crontab для вызова этого URL в любое время,
поэтому никакой специальной конфигурации не требуется. Еще одна вещь здесь:
доступ к этой конечной точке. На мой взгляд, это должно быть как-то
ограничено, но потому что вы не можете наложить ограничение на основе
роль пользователя (ваш cron просто вызовет конечную точку как анонимный пользователь),
Вы должны найти другое решение (либо токен, добавленный к
url, или, может быть, enpoint можно вызвать с определенного ip,
так далее..). Это основная причина, почему я предпочитаю hook_cron (), потому что
это лучше подходит для Drupal.
Я разработчик Drupal, так что я бы в этом конкретном случае номер 1)
Других решений пока нет …