summaryrefslogtreecommitdiff
path: root/modules/search
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-08-30 13:29:05 -0700
committerBharat Mediratta <bharat@menalto.com>2009-08-30 13:29:05 -0700
commitaf6bfa3c71ccc2d45d3029c96f934a7ecd2c2143 (patch)
tree4f8bceae0898a7618ab828167e2b0ddbc9130ed0 /modules/search
parenteca8a366e0623bbfc6aa07e6347a9b0cc768f6d9 (diff)
Change the processing time for search_task and exif_task to start the
1.5 second counter only after we've done any expensive queries. This guarantees at least some time to do work. Fixes ticket #693.
Diffstat (limited to 'modules/search')
-rw-r--r--modules/search/helpers/search_task.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/search/helpers/search_task.php b/modules/search/helpers/search_task.php
index 5643573a..9508f420 100644
--- a/modules/search/helpers/search_task.php
+++ b/modules/search/helpers/search_task.php
@@ -48,12 +48,18 @@ class search_task_Core {
->where("search_records.item_id", null)
->orwhere("search_records.dirty", 1)
->find_all() as $item) {
- if (microtime(true) - $start > 1.5) {
- break;
+ // The query above can take a long time, so start the timer after its done
+ // to give ourselves a little time to actually process rows.
+ if (!isset($start)) {
+ $start = microtime(true);
}
search::update($item);
$completed++;
+
+ if (microtime(true) - $start > 1.5) {
+ break;
+ }
}
list ($remaining, $total, $percent) = search::stats();