serg_small_developer
@serg_small_developer
Начинающий прогер

Какой вариант лучше?

Всем привет. Разрабатываю свою систему. Для выполнения некоторых команд из интерфейса приложения я использую yii2-queue, а для всего остального что нужно системе выполняю через крон. Но вот появилась проблема - "User already has more than 'max_user_connections' active connections", это из-за того что я запускаю родительский скрипт который циклом запускает дочерние которые нужно. И вот я не знаю как это сделать лучше, просто увеличить лимиты идея не очень как на меня.
Есть вариант такой: проверять, если лимит превышен то делать sleep секунд на 10 и повторно запускать дочерний скрипт. И еще идея лучше но не знаю как её сделать, как говорил я специально все что из веба пустил через queue, а остальное через крон чтобы в вебе была выше скорость выполнения и кроновские скрипты не тормозили все. Может кто знает как запустить отдельно "yii queue/listen" для крона. Я бы в родительском кроне не запускал дочерние сразу, а ставил их в очередь и подобные ошибки исчезли, но как сделать так чтобы один слушатель был нацелен так сказать на одно, а второй на другое.

Прошу подсказать какой вариант на ваше мнение лучше или если есть идеи лучше)
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
@LAV45
В настройках подключения к базе данных добавь PDO::ATTR_PERSISTENT, тогда при завершении соединение с базой не будет разрываться, и все пользователи/скрипты будут использовать именно его.
return [
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'attributes' => [
                PDO::ATTR_PERSISTENT => true
            ]
        ],
    ],
];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы