Size: a a a

2020 August 05

RM

Rustam Mamadaminov in Yii Framework 3
Дмитрий
@rustamwin я подумал над индексом, вот решения:

Index - это такой же Collector, только захватывающий несколько сфер (реквест, респонс, прочее).
Создаем новый IndexCollector, в котором будет вся логика по сборам, не тянем себе Request/Response Collector'ы

В любой Storage можно будет прокинуть его несколькими путями:

1. Через новый метод addIndexCollector.
Нужно будет сделать отдельный IndexCollectorInterface, чтобы не подсовывали любой другой.
По завершению работы делаем сохранение основной кучи данных, потом кучи из индекса.

2. Через старый метод addCollector.
Нужно будет сделать интерфейс-маркер, в какую "пачку" сохранять данные из коллектора. Будет основной CommonDataBatch (или без него) и IndexDataBatch, с методами getName - название файла/таблицы/документа, где будут храниться данные.
По завершению работы делаем сохранение данных, группируя их по файлам.

Что скажешь?
Мне нравится 2-й вариант.
2-й вариант: в итоге для каждого коллектора создается индексный файл?
источник

Д

Дмитрий in Yii Framework 3
Rustam Mamadaminov
2-й вариант: в итоге для каждого коллектора создается индексный файл?
нет, для каждого реквеста
источник

Д

Дмитрий in Yii Framework 3
сейчас все коллекторы пишут в 1 файл, с интерфейсом будут писать группами в нужные файлы
источник

Д

Дмитрий in Yii Framework 3
IndexCollector может в себя тянуть Request, Response и всё, что ему будет нужно
источник

Д

Дмитрий in Yii Framework 3
а еще нужно переделать формат хранения данных в коллекторах из массива в dto, чтобы потом вести документацию по существующим полям.
источник

NO

Nex Otaku in Yii Framework 3
Коллектор это для чего?
источник

Д

Дмитрий in Yii Framework 3
собирать инфу по приложению: запрос, ответ, логи, события и прочее
источник

NO

Nex Otaku in Yii Framework 3
где используется? в дебагере?
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
сейчас все коллекторы пишут в 1 файл, с интерфейсом будут писать группами в нужные файлы
Не понял. У нас же один индекс. Зачем несколько?
источник

AM

Alexander Makarov in Yii Framework 3
Nex Otaku
где используется? в дебагере?
да
источник

NO

Nex Otaku in Yii Framework 3
ну главное чтобы код приложения не зависел от дебагера)
источник

Д

Дмитрий in Yii Framework 3
Alexander Makarov
Не понял. У нас же один индекс. Зачем несколько?
и будет 1.
разделение нужно, чтобы владеть сущностями "индекс" и "не индекс".
источник

AM

Alexander Makarov in Yii Framework 3
а, в этом плане ок
источник

RM

Rustam Mamadaminov in Yii Framework 3
мои 2 цента для 2-го варианта:
нет необходимости делать отдельный сборщик - нужно добавить метод getIndex, который возвращает необходимые данные для индекса, добавить метод getName - я согласен.
источник

Д

Дмитрий in Yii Framework 3
у коллектора будет getIndex?
источник

RM

Rustam Mamadaminov in Yii Framework 3
да
источник

Д

Дмитрий in Yii Framework 3
ну не знаю. по мне отдельный IndexCollector лучше.
источник

RM

Rustam Mamadaminov in Yii Framework 3
то индексный файл будет отдельно для каждого запроса. не лучше.
источник

Д

Дмитрий in Yii Framework 3
почему не лучше? твоя реализация из pr сейчас создает отдельный файл для индекса
источник

СП

Сергей Предводителев... in Yii Framework 3
https://github.com/yiisoft/composer-config-plugin/issues/99#issuecomment-669251849

Помогите решить как делать и я допилю :)
источник