zhuravljov / yii2-queue-monitor

Yii2 Queue Analytics Module
BSD 3-Clause "New" or "Revised" License
101 stars 24 forks source link

В контроллерах WorkerController и JobController не хватает метода beforeAction() #30

Open nskdmitry opened 2 days ago

nskdmitry commented 2 days ago

Здравствуйте!

Проблема

После настройки пакета и добавления модуля 'monitor' согласно инструкции, по адресам http://127.0.0.1:10075/monitor/worker/index, http://127.0.0.1:10075/monitor/job/index и, соответственно, http://127.0.0.1:10075/monitor, содержимое страниц приходит как JSON-строка. image image.

Поиски решения

Я не стал спешить с выводами и заглянул в настройки приложения. Там я нашел что ожидал увидеть:

'components' => [
        ...,
        'response' => [
            'format' => yii\web\Response::FORMAT_JSON,
            'charset' => 'UTF-8',
        ],
       ...

При этом панель отладки (пакет yii2-debug) открывается нормально. Я нашел причину:

    /**
     * {@inheritdoc}
     * @throws \yii\web\BadRequestHttpException
     */
    public function beforeAction($action)
    {
        Yii::$app->response->format = Response::FORMAT_HTML;
        return parent::beforeAction($action);
    }

После того, как я добавил этот метод в код контроллеров, они заработали как надо: image image

Предложение по решению

Думаю, следует внедрить этот код - как раз на подобный случай.

nskdmitry commented 2 days ago

Ещё вопрос: как заполняется таблица Исполнители? Я в контроллере добавил пару задач в очередь, они появились на странице Задачи, но таблица на странице Исполнители осталась пустой.

image image

nskdmitry commented 2 hours ago

Ответ на собственный вопрос: добавляются в команде ./yii queue/listener