Вероятно, вам нужно cron-jobs
https://en.wikipedia.org/wiki/Cron
Сервер будет запускать планировщик в зависимости от времени, которое вы определили в своем cron-job
. В вашем случае будет хорошо планировать его каждый день .
теперь каждый день он будет запускать ваш планировщик> затем будет вызывать ваш Task
(https://octobercms.com/docs/plugin/scheduling#introduction) с вашей логикой.
Logic
Вы получите записи с условием:
current_date + 1/2/3 day
преобразовать эту дату в метку времени и сохранить в переменную future_date
И добавить условие в поле expiry_date
expiry_date > today_time_stamp AND expiry_date < future_date
Это даст вам записей , срок действия которых истекает через следующие 1/2/3 дня
сейчас notify [send email]
или fire event
для этих записей
Вы можете добавить мастер-задачу на свой сервер, просто следуйте этому руководству
https://octobercms.com/docs/setup/installation#crontab-setup
Тогда вы можете просто написать свою логику, как вы хотите, чтобы все было сделано
https://octobercms.com/docs/plugin/scheduling#introduction
если есть сомнения, прокомментируйте