diff options
author | Bharat Mediratta <bharat@menalto.com> | 2009-08-30 13:29:05 -0700 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2009-08-30 13:29:05 -0700 |
commit | af6bfa3c71ccc2d45d3029c96f934a7ecd2c2143 (patch) | |
tree | 4f8bceae0898a7618ab828167e2b0ddbc9130ed0 /modules/search | |
parent | eca8a366e0623bbfc6aa07e6347a9b0cc768f6d9 (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.php | 10 |
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(); |