如何在没有暂停的情况下自动运行cron?

时间:2010-09-03 12:18:25

标签: drupal drupal-6

我需要索引80.000个节点。

每个cron运行的最大节点数量为500。

我需要运行crone 80.000 / 500次来索引整个网站。

如何自动安排这些运行(运行完成后,下一次运行应自动开始)?

我没有SSH访问权限,所以我不能使用drush。

由于

5 个答案:

答案 0 :(得分:1)

所有cron都会访问yoursite.com/cron.php

所以你可以在本地机器上使用cron / schedule task /。

答案 1 :(得分:0)

你为什么不每4分钟左右设一个cronjob?只需确保cronjobs之间的间隔长于运行​​cron脚本所需的时间,因此它不会重叠。

答案 2 :(得分:0)

您是否尝试过Poormanscron

  

使用普通浏览器/页面请求运行Drupal cron操作的模块,而不必设置crontab来请求cron.php脚本。该模块在您网站的每个页面上插入少量JavaScript,当自上次cron运行后经过一定时间后,调用AJAX请求来运行cron任务。在查看您的网站时,您的用户不应发现任何类型的延迟或中断。但是,这种方法要求您的网站获得定期流量/访问者以触发cron请求。

答案 3 :(得分:0)

尝试使用drupal中的Apache Solr搜索模块。

答案 4 :(得分:0)

重申并澄清其他答案:只要您没有在.htaccess或Apache配置中明确阻止它,您只需从任何<访问yoursite.com/cron.php即可触发Drupal的cron.php。 / strong>浏览器。您还可以设置本地计算机(或任何其他具有Web访问权限的计算机)来运行自己的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.