Добрый день. Проблема в том что моя команда которая управляется через Cron не всегда выполняется во время и бывает такое что скрипт может выполняться 30-40-60 секунд (там стоят sleep()), после чего результаты выполнения заносятся в базу. Так вот, время жизни сессии бд составляет не более 30 секунд. После этого бд закрывается и возвращается ошибка при попытке записи.
Подскажите как изменить время таймаут сессии в commands?
Хотелось бы не чтобы глобально во всем фреймворке менялся таймаут, а только в одном классе команд. Если невозможно такое, то подскажите глобальное решение
Фреймворк Yii2 basic
Время жизни БД соединения в commands
Re: Время жизни БД соединения в commands
Решил проблему таким способом из статьи https://web-answers.ru/php/yii2-server-mysql-ushel.html:
Не забудьте добавитьв начале кода:
Код: Выделить всё
Yii::$app->db->createCommand('SET SESSION wait_timeout = 300;')->execute();
Код: Выделить всё
use Yii;
Re: Время жизни БД соединения в commands
Почитайте про очереди, думаю в вашем случае будет полезно.