diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-10-29 07:18:55 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-10-29 07:18:55 +0000 |
commit | 8820c9f3afa332b6e7a726f6dca47c9854edd09e (patch) | |
tree | 0cca95736e6e524334fb330f2e41540dd99c6bab /modules/tracker | |
parent | 46f988bcc5eca0542f4f6ccb8d900ae94f385da8 (diff) | |
download | brdo-8820c9f3afa332b6e7a726f6dca47c9854edd09e.tar.gz brdo-8820c9f3afa332b6e7a726f6dca47c9854edd09e.tar.bz2 |
#615526 by Crell: Use slave servers for tracker module.
Diffstat (limited to 'modules/tracker')
-rw-r--r-- | modules/tracker/tracker.module | 8 | ||||
-rw-r--r-- | modules/tracker/tracker.pages.inc | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/modules/tracker/tracker.module b/modules/tracker/tracker.module index 88f5dbddc..fde5018ae 100644 --- a/modules/tracker/tracker.module +++ b/modules/tracker/tracker.module @@ -69,7 +69,7 @@ function tracker_cron() { $batch_size = variable_get('tracker_batch_size', 1000); if ($max_nid > 0) { $last_nid = FALSE; - $result = db_query_range('SELECT nid, uid, status FROM {node} WHERE nid <= :max_nid ORDER BY nid DESC', 0, $batch_size, array(':max_nid' => $max_nid)); + $result = db_query_range('SELECT nid, uid, status FROM {node} WHERE nid <= :max_nid ORDER BY nid DESC', 0, $batch_size, array(':max_nid' => $max_nid), array('target' => 'slave')); $count = 0; @@ -104,7 +104,7 @@ function tracker_cron() { )) ->execute(); - $query = db_select('comment', 'c'); + $query = db_select('comment', 'c', array('target' => 'slave')); // Force PostgreSQL to do an implicit cast by adding 0. $query->addExpression('0 + :changed', 'changed', array(':changed' => $changed)); $query->addField('c', 'status', 'published'); @@ -265,11 +265,11 @@ function _tracker_add($nid, $uid, $changed) { * is the greatest. */ function _tracker_calculate_changed($nid) { - $changed = db_query('SELECT changed FROM {node} WHERE nid = :nid', array(':nid' => $nid))->fetchField(); + $changed = db_query('SELECT changed FROM {node} WHERE nid = :nid', array(':nid' => $nid), array('target' => 'slave'))->fetchField(); $latest_comment = db_query_range('SELECT cid, changed FROM {comment} WHERE nid = :nid AND status = :status ORDER BY changed DESC', 0, 1, array( ':nid' => $nid, ':status' => COMMENT_PUBLISHED, - ))->fetchObject(); + ), array('target' => 'slave'))->fetchObject(); if ($latest_comment && $latest_comment->changed > $changed) { $changed = $latest_comment->changed; } diff --git a/modules/tracker/tracker.pages.inc b/modules/tracker/tracker.pages.inc index 060f0f483..e4cd1d16f 100644 --- a/modules/tracker/tracker.pages.inc +++ b/modules/tracker/tracker.pages.inc @@ -23,7 +23,7 @@ function tracker_page($account = NULL, $set_title = FALSE) { } } else { - $query = db_select('tracker_node', 't')->extend('PagerDefault'); + $query = db_select('tracker_node', 't', array('target' => 'slave'))->extend('PagerDefault'); } // This array acts as a placeholder for the data selected later @@ -39,7 +39,7 @@ function tracker_page($account = NULL, $set_title = FALSE) { if (!empty($nodes)) { // Now, get the data and put into the placeholder array - $result = db_query('SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.nid IN (:nids)', array(':nids' => array_keys($nodes))); + $result = db_query('SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.nid IN (:nids)', array(':nids' => array_keys($nodes)), array('target' => 'slave')); foreach ($result as $node) { $node->last_activity = $nodes[$node->nid]->changed; $nodes[$node->nid] = $node; |