1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/12683] Add progress bar to create_index

PHPBB3-12683
This commit is contained in:
rubencm
2021-03-24 18:50:29 +01:00
committed by Ruben Calvo
parent ce54ee5e6f
commit 0a24704b4f
15 changed files with 151 additions and 111 deletions

View File

@@ -1,15 +1,15 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\search\backend;
@@ -19,9 +19,9 @@ use phpbb\db\driver\driver_interface;
use phpbb\user;
/**
* optional base class for search plugins providing simple caching based on ACM
* and functions to retrieve ignore_words and synonyms
*/
* optional base class for search plugins providing simple caching based on ACM
* and functions to retrieve ignore_words and synonyms
*/
abstract class base implements search_backend_interface
{
public const SEARCH_RESULT_NOT_IN_CACHE = 0;
@@ -348,8 +348,17 @@ abstract class base implements search_backend_interface
$row_count++;
$post_counter = $row['post_id'];
}
// With cli process only one batch each time to be able to track progress
if (PHP_SAPI === 'cli')
{
break;
}
}
// TODO: With cli if the previous bucle have stoped because of lack of time, launch an exception, because is an error
// cli commands should be executed in one step
// pretend the number of posts was as big as the number of ids we indexed so far
// just an estimation as it includes deleted posts
$num_posts = $this->config['num_posts'];
@@ -399,6 +408,12 @@ abstract class base implements search_backend_interface
$this->index_remove($ids, $posters, $forum_ids);
$post_counter = $ids[count($ids) - 1];
}
// With cli process only one batch each time to be able to track progress
if (PHP_SAPI === 'cli')
{
break;
}
}
if ($post_counter < $max_post_id)