Я хотел бы добавить интенсивную задачу (скажем, время выполнения 5 минут) в WordPress с использованием задания cron.
Я использовал этот код для добавления новой задачи cron внутри системы WordPress.
wp_schedule_event(time(), "interval-name", "hook-name");
Я где-то читал в сети, что задача cron будет выполняться, когда запрос попадет в WordPress (либо на публичный сайт, либо на администратора). Может ли кто-нибудь признать, что это правда?
Если это случай, тогда я не должен ставить свою интенсивную задачу в задачу cron, потому что она заставит пользователя ждать долго после завершения задачи. Что мне теперь делать?
Кто-нибудь испытал такую ситуацию? Любое предложение? Я думаю, чтобы создать новую страницу, которая будет выполнена crontab (например, http://example.com/wp-content/plugins/plugin-example/intensive-task.php )
В документации WordPress говорится, что она будет запущена, когда кто-то посещает ваш сайт, так что да, вы правы. Только один пользователь получает медленную загрузку страницы, так что это зависит от вас, если вы хотите этого избежать.
Если вы используете его из обычного задания, нет необходимости делать его страницей на своем сайте; особенно если это интенсивная работа, как вы говорите, тогда это может быть легко использовано, чтобы разместить большую нагрузку на вашем сервере. Вы можете легко запустить php из командной строки, чтобы безопасно выполнять свою работу и не вызывать никаких медленных нагрузок на вашей странице.
Если бы вы использовали обычный cronjob, который бы не был так, но я подозреваю, что wp делает то, что вы сказали, поскольку это сделает его универсальным, работающим на разных хостах с разными настройками, если у них есть php и mysql, работающие независимо от реальных cronjobs, которые должен быть установлен веб-хостом отдельно