Drupal 如何在不暂停的情况下自动运行cron?

Drupal 如何在不暂停的情况下自动运行cron?,drupal,drupal-6,Drupal,Drupal 6,我需要索引80.000个节点 每次运行cron时,我最多可以索引500个节点 我需要运行crone 80.000/500次来索引整个网站 如何自动安排这些运行(当一次运行完成时,下一次运行应自动开始) 我没有SSH访问权限,因此无法使用drush 谢谢为什么不每隔4分钟左右设置一个cronjob?只需确保cronjobs之间的间隔比运行cron脚本所需的时间长,这样它就不会重叠。您尝试过吗 一个模块,它使用普通的浏览器/页面请求来运行Drupal cron操作,而不必设置crontab来请求cr

我需要索引80.000个节点

每次运行cron时,我最多可以索引500个节点

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

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

我没有SSH访问权限,因此无法使用drush


谢谢

为什么不每隔4分钟左右设置一个cronjob?只需确保cronjobs之间的间隔比运行cron脚本所需的时间长,这样它就不会重叠。

您尝试过吗

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


cron所做的就是访问yoursite.com/cron.php


因此,您可以在本地计算机上使用cron/schedule task/etc。

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

重申并澄清其他答案:只要您没有在.htaccess或Apache配置中显式阻止它,只需从任何浏览器访问yoursite.com/cron.php,即可触发Drupal的cron.php。您还可以设置您的本地机器(或者任何其他具有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.

因为UI中的最短时间是3小时,这是否意味着500个节点的每个cron运行需要3小时?我很好奇:你在索引什么这么大?我猜Patrick的意思是他的主机提供了一个UI,它只允许他以至少3小时的间隔设置cronjobs。是的,我正在使用它。但关键是后端允许的最小间隔是1小时,我没有访问服务器配置的权限,也没有ssh访问权限。我只能使用poormanscron运行,但没有降低间隔的选项。他建议使用本地计算机上的计划任务(linux中的cron或windows中的计划任务)访问yoursite.com/cron.php。当您在站点上正常运行cron时,它所做的只是点击cron.php,因此您将模拟它。您不需要ssh或poormanscron来完成这项工作。正如digital所说,我的意思是使用您当前正在键入的机器的cron机制访问yoursite.com/cron.php,而不是服务器本身。让实际的服务器运行cron更方便,而不是要求。