Как работает расписание постов, как в wordpress, это cron?

#wordpress #cron #web-crawler #schedule

#wordpress #cron #веб-сканер #Расписание

Вопрос:

Я имею в виду, как, например, статья будет размещена точно в 16:00? Есть cron, который проверяет расписание постов каждую минуту?

Я спрашиваю, потому что хочу написать поисковый робот, который будет приносить контент с определенного веб-сайта каждый раз, когда этот веб-сайт будет публиковать новый контент.

Тот же пример, который мы видим в Google Reader, каждую новую статью с ваших подписанных сайтов, Reader будет показывать сразу

Спасибо!

Ответ №1:

Когда пользователь посещает сайт (любой пользователь), запускается задание псевдо-cron. По сути, каждая страница PHP подключена к среде, подобной cron, которая выполняет код при вызове.

Я говорю «псевдо», потому что вы не можете отличить его от реального. Единственный способ определить, это просмотреть веб-страницу, чтобы проверить наличие нового контента, запустив задание (которое происходит при запросе страницы).

Что касается сканера, зачем вам его сканировать? Просто загрузите RSS-канал (большинство тем поддерживают его). Оно содержит все последние посты в удобном формате.

Комментарии:

1. Хорошо, итак, мой вопрос таков: если я хочу создать веб-сайт, работающий с поисковыми роботами, и я хочу посещать свой веб-сайт раз в месяц, мне нужно запускать задание cron сервера, которое будет выполняться каждые X минут / часов? и не зависеть от пользователей, которые посещают мой сайт

2. Сканеры запрашивают страницы. WordPress запускает задания «cron» каждый раз, когда вы запрашиваете веб-страницу, независимо от того, кто запрашивает (будь то поисковый робот или браузер). Это не имеет значения.

3. Чтобы прояснить разницу: задание cron в unix гарантированно выполняется в назначенное время, тогда как «псевдо» cron в WP будет выполняться только в том случае, если оно запущено. Другими словами, если никто не посещает ваш сайт, задание cron не будет выполняться вообще! Его также не гарантируется своевременное выполнение, и его не следует использовать для выполнения критичных по времени заданий cron.

Ответ №2:

Как отметил @Blender, события запускаются псевдохронным процессом, который запускается, когда пользователь обращается к домашней странице. Он будет выполнять запланированные действия до тех пор, пока не истечет их запланированное время.

Вы можете подключить свое собственное поведение к этому процессу. Смотрите Эти страницы в Кодексе WordPress, посвященном WP-Cron, в частности, эту, посвященную планированию событий.