mirror of
https://github.com/elyby/accounts.git
synced 2024-11-17 18:53:00 +05:30
#278: исключаем логгирование для ошибок, связанных с соединением с базой данных
This commit is contained in:
parent
3bde676217
commit
1d364ea909
@ -2,13 +2,18 @@
|
||||
namespace console\controllers;
|
||||
|
||||
use Ely\Amqp\ControllerTrait;
|
||||
use PhpAmqpLib\Message\AMQPMessage;
|
||||
use Yii;
|
||||
use yii\console\Controller;
|
||||
use yii\db\Exception as YiiDbException;
|
||||
use yii\helpers\ArrayHelper;
|
||||
use yii\helpers\Inflector;
|
||||
use yii\helpers\StringHelper;
|
||||
|
||||
abstract class AmqpController extends Controller {
|
||||
use ControllerTrait;
|
||||
use ControllerTrait {
|
||||
callback as _callback;
|
||||
}
|
||||
|
||||
public final function actionIndex() {
|
||||
$this->start();
|
||||
@ -18,6 +23,26 @@ abstract class AmqpController extends Controller {
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Переопределяем метод callback, чтобы избержать логгирования в консоль ошибок,
|
||||
* связанных с обвалом того или иного соединения. Это нормально, PHP рождён умирать,
|
||||
* а не работать 24/7 в качестве демона.
|
||||
*
|
||||
* @param AMQPMessage $msg
|
||||
* @throws YiiDbException
|
||||
*/
|
||||
public function callback(AMQPMessage $msg) {
|
||||
try {
|
||||
$this->_callback($msg);
|
||||
} catch (YiiDbException $e) {
|
||||
if (StringHelper::startsWith($e->getMessage(), 'Error while sending QUERY packet')) {
|
||||
exit(self::EXIT_CODE_ERROR);
|
||||
}
|
||||
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user