Skip to content

Commit

Permalink
PHRAS-3894 : bin/maintenance clean: - Removing BETA prefix and Memory…
Browse files Browse the repository at this point in the history
… leak (#4391)

* remove beta

* prefix beta in description
  • Loading branch information
aynsix authored Oct 10, 2023
1 parent 0c52d94 commit be9a6b3
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 9 deletions.
14 changes: 11 additions & 3 deletions lib/Alchemy/Phrasea/Command/Maintenance/CleanLogDocsCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ class CleanLogDocsCommand extends Command

public function __construct()
{
parent::__construct('BETA - Clean:log_docs');
parent::__construct('clean:log_docs');

$this
->setDescription('clean the log_docs for all databox (if not specified) or a specific databox_id ')
->setDescription('Beta - clean the log_docs for all databox (if not specified) or a specific databox_id ')
->addOption('databox_id', null, InputOption::VALUE_REQUIRED, 'the databox to clean')
->addOption('older_than', null, InputOption::VALUE_REQUIRED, 'delete older than <OLDER_THAN>')
->addOption('action', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'download, mail, ftp, delete (if delete , delete also log entry for all events like push, add , validate, edit, collection, status, print, substit, publish for this record_id)')
Expand Down Expand Up @@ -112,11 +112,19 @@ public function doExecute(InputInterface $input, OutputInterface $output)
}

$output->writeln(sprintf("\n \n dry-run , %d log docs entry to delete for databox %s", count($rowsActionDelete), $databox->get_dbname()));
// displayed only the 1000 first row to avoid memory leak

$displayedRows = array_slice($rowsActionDelete, 0, 1000);
if (count($rows) > 1000) {
array_push($displayedRows, array_fill_keys(['id', 'log_id', 'date', 'record_id', 'final', 'action'], ' ... '));
array_push($displayedRows, array_fill_keys(['id', 'log_id', 'date', 'record_id', 'final', 'action'], ' ... '));
}

$logEntryTable = $this->getHelperSet()->get('table');
$headers = ['id', 'log_id', 'date', 'record_id', 'final', 'action'];
$logEntryTable
->setHeaders($headers)
->setRows($rowsActionDelete)
->setRows($displayedRows)
->render($output);

} else {
Expand Down
14 changes: 11 additions & 3 deletions lib/Alchemy/Phrasea/Command/Maintenance/CleanLogSearchCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ class CleanLogSearchCommand extends Command
{
public function __construct()
{
parent::__construct('BETA - Clean:log_search');
parent::__construct('clean:log_search');

$this
->setDescription('clean the log_search for all databox (if not specified) or a specific databox_id ')
->setDescription('Beta - clean the log_search for all databox (if not specified) or a specific databox_id ')
->addOption('databox_id', null, InputOption::VALUE_REQUIRED, 'the databox to clean')
->addOption('older_than', null, InputOption::VALUE_REQUIRED, 'delete older than <OLDER_THAN>')
->addOption('dry-run', null, InputOption::VALUE_NONE, 'dry run, list and count')
Expand Down Expand Up @@ -77,11 +77,19 @@ public function doExecute(InputInterface $input, OutputInterface $output)
$stmt->closeCursor();

$output->writeln(sprintf("\n \n dry-run , %d log search entry to delete for databox %s", count($rows), $databox->get_dbname()));
// displayed only the 1000 first row to avoid memory leak

$displayedRows = array_slice($rows, 0, 1000);
if (count($rows) > 1000) {
array_push($displayedRows, array_fill_keys(['id', 'date', 'search', 'results', 'coll_id'], ' ... '));
array_push($displayedRows, array_fill_keys(['id', 'date', 'search', 'results', 'coll_id'], ' ... '));
}

$logEntryTable = $this->getHelperSet()->get('table');
$headers = ['id', 'date', 'search', 'results', 'coll_id'];
$logEntryTable
->setHeaders($headers)
->setRows($rows)
->setRows($displayedRows)
->render($output);
} else {
$stmt = $databox->get_connection()->executeQuery($sqlDelete);
Expand Down
13 changes: 10 additions & 3 deletions lib/Alchemy/Phrasea/Command/Maintenance/CleanLogViewCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ class CleanLogViewCommand extends Command
{
public function __construct()
{
parent::__construct('BETA - Clean:log_view');
parent::__construct('clean:log_view');

$this
->setDescription('clean the log_view for all databox (if not specified) or a specific databox_id ')
->setDescription('Beta - clean the log_view for all databox (if not specified) or a specific databox_id ')
->addOption('databox_id', null, InputOption::VALUE_REQUIRED, 'the databox to clean')
->addOption('older_than', null, InputOption::VALUE_REQUIRED, 'delete older than <OLDER_THAN>')
->addOption('dry-run', null, InputOption::VALUE_NONE, 'dry run, list and count')
Expand Down Expand Up @@ -77,12 +77,19 @@ public function doExecute(InputInterface $input, OutputInterface $output)
$stmt->closeCursor();

$output->writeln(sprintf("\n \n dry-run , %d log view entry to delete for databox %s", count($rows), $databox->get_dbname()));
// displayed only the 1000 first row to avoid memory leak
$displayedRows = array_slice($rows, 0, 1000);
if (count($rows) > 1000) {
array_push($displayedRows, array_fill_keys(['id', 'date', 'record_id', 'coll_id'], ' ... '));
array_push($displayedRows, array_fill_keys(['id', 'date', 'record_id', 'coll_id'], ' ... '));
}
$logEntryTable = $this->getHelperSet()->get('table');
$headers = ['id', 'date', 'record_id', 'coll_id'];
$logEntryTable
->setHeaders($headers)
->setRows($rows)
->setRows($displayedRows)
->render($output);

} else {
$stmt = $databox->get_connection()->executeQuery($sqlDelete);

Expand Down

0 comments on commit be9a6b3

Please sign in to comment.