WooCommerce Подписки 3.0 | Ручной запуск запланированных действий не работает - PullRequest
0 голосов
/ 20 марта 2020

У меня есть интернет-магазин WooCommerce с подписками WooCommerce, и я хочу протестировать процесс обновления (электронные письма и т. Д. c) для регулярного платежа. Обычно я использовал бы метод, описанный в следующей статье .

. Это всегда работало до обновления подписок до 3.0 (с обновленным планировщиком действий). Но сейчас ничего не происходит.

После нажатия кнопки запуска окно обновляется, и запланированное действие все еще там. Я получаю уведомление с сообщением «Следующая очередь начнет обрабатываться примерно через X секунд». Иногда я получаю уведомление «Новая очередь уже начала обрабатываться. Просмотреть действия в процессе» ». При переходе по ссылке никакие выполняемые действия не обнаруживаются.

У действия, которое я хочу выполнить, есть дата в будущем, и у меня для WCS_DEBUG и WP_DEBUG установлено значение true.

Я вырываю волосы, пытаясь понять, почему действие нельзя запустить вручную. Я что-то пропустил?

  • WooCommerce v 3.9.3

  • Подписки WooCommerce v 3.0.1

  • WordPress v 5.3.2

Смотрите скриншот ситуации здесь

1 Ответ

0 голосов
/ 26 апреля 2020
    // Maybe clear the existing schedule for this hook
    if ( false !== $next_scheduled && $next_scheduled != $event_time ) {
        $this->unschedule_actions( $action_hook, $action_args );
    }

    if ( 0 != $event_time && $event_time > current_time( 'timestamp', true ) && $next_scheduled != $event_time ) {
        as_schedule_single_action( $event_time, $action_hook, $action_args );
    }

При ручном запуске задачи он проверяет, истекло ли время следующего расписания, и устанавливает только, если время истекло. (WCS 3.0.1)

...