Итак, сегодня утром я столкнулся с проблемой на веб-сайте, который использует 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' );
}
Проблема довольно проста. Этот код работает нормально, по сути, я хочу запускать функцию в полночь по местному времени, каждый день. Поэтому, когда я впервые запускаю функцию - она получает метку времени завтрашней полуночи - местного времени. И с тех пор - работает functino.
Теперь в эти выходные - из-за перехода на летнее время функция фактически никогда не переключается на RESCHEDULED - она просто запускается каждые 24 часа. Таким образом, функция начала работать в 11 вечера. Конечно, это легко исправить - но снова сломается. Я не могу найти хороших сообщений на эту тему - как бы вы справились:
wp_schedule_event работает ежедневно, когда меняется летнее время?
Просто чтобы выгрузить очевидные ответы здесь: я не могу запустить правильный cron - это нужно сделать через wp. Наш хост просто не поддерживает это, это отстой - но это клиент. Любой совет будет принята с благодарностью!