Итак, сегодня утром я столкнулся с проблемой на веб-сайте, который использует WP Cron. Код выглядит следующим образом:
//Schedule the cron to run if not scheduled
if ( ! wp_next_scheduled( 'my_check_cron_event' ) ) {
wp_schedule_event( strtotime('tomorrow America/New_York') , 'daily', 'my_check_cron_event' );
}
Проблема довольно проста. Этот код работает нормально, по сути, я хочу запускать функцию в полночь по местному времени каждый день. Поэтому, когда я впервые запускаю функцию, она получает временную метку завтрашней полуночи по местному времени. И с тех пор функтино работает.
Теперь в эти выходные - из-за перехода на летнее время функция на самом деле никогда не переносится - она просто настроена на запуск каждые 24 часа. Таким образом, функция начала работать в 23:00. Конечно, это легко исправить, но снова сломается. Я не могу найти хороших сообщений по теме - как бы вы справились с:
wp_schedule_event запускается ежедневно, когда меняется летнее время?
Просто чтобы предупредить очевидные ответы здесь: я не могу запустить правильный cron - это нужно сделать через wp. Наш хост его просто не поддерживает, это отстой, но это клиент. Любой совет будет принят с благодарностью!