Внешний php-скрипт раз в сутки запрашивает из базы расписание на текущую дату.Сделайте синусоидный опрос по крону: днём/ночью - реже, утром/вечером - чаще.
Бывают ситуации, когда приходится оперативно апдейтить расписание на текущую дату из терминала MySQL. Но скрипт об этом апдейте не знает...Вот эта часть - совсем другая: уже локальная! Здесь базу можно опрашивать хоть каждые 5 минут (т.к. это трафик во внешку не гоняет). Мониторите нужное поле в БД и как только там есть хэш, отличный от текущего - пусть лезет во внешку и забирает новый update.