Привет всем.
Вкратце суть: Есть консольный контроллер унаследованный от
BeanstalkController.
Проблема в том что не работают статические методы для логирования.
Yii::info('message', 'category');
Теперь подробнее.
Код контроллера
class TestWorkerController extends BeanstalkController
{
const DELAY_PRIORITY = "1000";
const DELAY_TIME = 1;
const DELAY_MAX = 3;
public function listenTubes()
{
return ['log'];
}
public function actionLog($job)
{
$data = $job->getData();
print_r($data);
\Yii::info('111111', 'cat');
try {
\Yii::info('222222', 'cat');
return self::DELETE;
} catch (\Exception $e) {
fwrite(STDERR, Console::ansiFormat($e . "\n", [Console::FG_BLUE]));
return self::BURY;
}
}
}
Запускается ./yii test-worker
Добавление новой задачи
Yii::$app->beanstalk->putInTube('log', $data, 100, 0);
Примечания:
- Логирование без проблем работает в других контроллерах унаследованных от yii\console\Controller
- Сам воркер TestWorkerController также работает хорошо и выполняет все поставленные задачи (кроме логирования).
Подскажите путь для решения этой проблемы.
Заранее благодарен.