Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 多站点安装上的Cron_Drupal - Fatal编程技术网

Drupal 多站点安装上的Cron

Drupal 多站点安装上的Cron,drupal,Drupal,在Drupal 6多站点安装上,让cron仅为请求的站点运行的最佳方式是什么?我想你的答案是用hook\u cron()钩子做点什么。您可以在数据库查询中指定站点。 这是一些实现它的代码: <?php function hook_cron() { $result = db_query('SELECT * FROM {site} WHERE checked = 0 OR checked + refresh < %d', time());

在Drupal 6多站点安装上,让cron仅为请求的站点运行的最佳方式是什么?我想你的答案是用hook\u cron()钩子做点什么。您可以在数据库查询中指定站点。
这是一些实现它的代码:

<?php
  function hook_cron() {
       $result = db_query('SELECT * FROM {site} WHERE checked = 0 OR checked
       + refresh < %d', time());

       while ($site = db_fetch_array($result)) {
           cloud_update($site);
       }
  }
?>

偷自

我知道这不是你一直在寻找的答案,但我认为这是正确的方向。我进入drupal一周了。我想我喜欢它;)

cron.php
是正确的方法,即使在多站点安装中也是如此:Drupal检查HTTP\U主机以查看要引导到哪个站点。您在评论中提到它已重命名:除了重命名或在重命名的文件上运行cron作业外,您还可以从状态报告页或通过Drush运行它:

/usr/bin/php /path/to/drush.php -v -l http://example.com -r /path/to/drupal/ cron
或者干脆

drush -l http://example.com cron

如果您为cron设置了正确的路径。

实际上,我看到很久以前有人将cron.php重命名为cron.bk,因为他们使用的是supercron.php。我将把服务器上的cronjob更改为该文件,然后看看会发生什么。谢谢。不过他们正在使用Supercron模块,它使用Supercron.php。这是我继承的一个项目,我被告知不要改变任何东西。。让它保持原样可以吗?我能想到的唯一一件事是有东西试图直接命中cron.php(例如cron作业),但是Drupal内部的所有东西(包括Contrib模块)都应该使用
hook\u cron()
,而不是直接获取或对
cron.php
执行任何操作。你应该没事的。