Merge pull request #5599 from annando/postupdate

Console script to ensure that all post updates are finished
This commit is contained in:
Tobias Diekershoff 2018-08-11 07:47:28 +02:00 committed by GitHub
commit 08fc86802a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 51 additions and 5 deletions

View file

@ -28,6 +28,7 @@ class Console extends \Asika\SimpleConsole\Console
'php2po' => __NAMESPACE__ . '\Console\PhpToPo', 'php2po' => __NAMESPACE__ . '\Console\PhpToPo',
'po2php' => __NAMESPACE__ . '\Console\PoToPhp', 'po2php' => __NAMESPACE__ . '\Console\PoToPhp',
'typo' => __NAMESPACE__ . '\Console\Typo', 'typo' => __NAMESPACE__ . '\Console\Typo',
'postupdate' => __NAMESPACE__ . '\Console\PostUpdate',
]; ];
protected function getHelp() protected function getHelp()
@ -51,6 +52,7 @@ Commands:
php2po Generate a messages.po file from a strings.php file php2po Generate a messages.po file from a strings.php file
po2php Generate a strings.php file from a messages.po file po2php Generate a strings.php file from a messages.po file
typo Checks for parse errors in Friendica files typo Checks for parse errors in Friendica files
postupdate Execute pending post update scripts (can last days)
Options: Options:
-h|--help|-? Show help information -h|--help|-? Show help information

View file

@ -0,0 +1,42 @@
<?php
namespace Friendica\Core\Console;
use Friendica\Core\L10n;
/**
* @brief tool to block an account from the node
*
* With this tool, you can block an account in such a way, that no postings
* or comments this account writes are accepted to the node.
*
* License: AGPLv3 or later, same as Friendica
*
* @author Tobias Diekershoff <mrpetovan@gmail.com>
* @author Hypolite Petovan <mrpetovan@gmail.com>
*/
class PostUpdate extends \Asika\SimpleConsole\Console
{
protected function doExecute()
{
$a = get_app();
if (count($this->args) > 0) {
throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments');
}
if ($a->isInstallMode()) {
throw new \RuntimeException('Database isn\'t ready or populated yet');
}
echo L10n::t('Execute pending post updates.') . "\n";
while (!\Friendica\Database\PostUpdate::update()) {
echo '.';
}
echo "\n" . L10n::t('All pending post updates are done.') . "\n";
return 0;
}
}

View file

@ -24,20 +24,22 @@ class PostUpdate
public static function update() public static function update()
{ {
if (!self::update1194()) { if (!self::update1194()) {
return; return false;
} }
if (!self::update1198()) { if (!self::update1198()) {
return; return false;
} }
if (!self::update1206()) { if (!self::update1206()) {
return; return false;
} }
if (!self::update1279()) { if (!self::update1279()) {
return; return false;
} }
if (!self::update1281()) { if (!self::update1281()) {
return; return false;
} }
return true;
} }
/** /**