Как я могу автоматически запускать cron без пауз? - PullRequest
0 голосов
/ 03 сентября 2010

Мне нужно проиндексировать 80 000 узлов.

Максимальное количество узлов, которые я могу индексировать за каждый запуск cron, равно 500.

Мне нужно запустить крону 80.000 / 500 раз, чтобы проиндексировать всевеб-сайт.

Как я могу автоматически запланировать эти прогоны (после завершения прогона должен автоматически начаться следующий прогон)?

У меня нет доступа по SSH, поэтому я не могу использовать drush.

Спасибо

Ответы [ 5 ]

1 голос
/ 03 сентября 2010

Все, что делает cron, это посещает yoursite.com/cron.php

Таким образом, вы можете использовать задачу cron / schedule / etc на локальной машине.

0 голосов
/ 15 сентября 2010

Чтобы повторить и уточнить другие ответы: если вы явно не заблокировали его в конфигурации .htaccess или Apache, вы можете запустить cron.php в Drupal, просто зайдя на yoursite.com/cron.php из any браузер. Вы также можете настроить свой локальный компьютер (или любой другой компьютер, на самом деле имеющий веб-доступ) для запуска собственного cronjob, который запускает cron.php вашего сайта. Этот процесс варьируется от платформы к платформе, но, например, в большинстве систем Linux вы можете запустить crontab -e и добавить строку, подобную этой:

0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
# Run example.com's cron tasks at the beginning of every hour.

или, возможно:

*/5 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
# Run example.com's cron tasks at every five minute interval.
0 голосов
/ 14 сентября 2010

Попробуйте модуль поиска Apache Solr в drupal.

0 голосов
/ 03 сентября 2010

Вы пробовали Poormanscron ?

Модуль, который выполняет операцию cron Drupal, используя обычные запросы браузера / страницы вместо того, чтобы настраивать crontab для запроса cron.PHP скриптМодуль вставляет небольшое количество JavaScript на каждую страницу вашего сайта, и по прошествии определенного времени с момента последнего запуска cron вызывает AJAX-запрос для запуска задач cron.Ваши пользователи не должны замечать каких-либо задержек или сбоев при просмотре вашего сайта.Однако этот подход требует, чтобы ваш сайт получал регулярный трафик / посетителей для запуска запроса cron.

0 голосов
/ 03 сентября 2010

Почему бы вам не ставить cronjob каждые 4 минуты или около того? Просто убедитесь, что интервал между cronjobs больше, чем время, необходимое для запуска скрипта cron, чтобы он не перекрывался.

...