Найден 5791 результат

ElisDN
2022.01.28, 20:06
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

Привязка очереди к exchange будет в автоматическом режиме или надо в настройках rabbitmq, в панели управления, привязать очередь к exchange? Расширение yii2-queue в драйвере для php-amqplib/php-amqplib умеет только создавать и привязывать exchange с типом direct. А в yii2-queue с enqueue/amqp-lib у...
ElisDN
2022.01.28, 19:43
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

А как всё-таки с настройками самого rabbitmq? Нужно определять отдельные exchenge для каждой очереди? Либо сделать отдельные exchange1..10 для каждой очереди queue1..10 и самому отправлять в 'exchange' . random_int(1, 10) Либо подключить плагин и определить один exchange с типом x-random и привязат...
ElisDN
2022.01.28, 16:48
Форум: REST API (Yii 2.x)
Тема: Как бы вы делали поиск в rest?
Ответы: 3
Просмотры: 8713

Re: Как бы вы делали поиск в rest?

maleks писал(а): 2022.01.28, 15:47 Может лучше какой нибудь
GET /users/search?
Да, лучше для каждой отдельной задачи делать отдельный адрес.
ElisDN
2022.01.28, 11:49
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

Вот такая цепочка очередей может влиять на скорость обработки данных? Или лучше использовать serializer в конфигурации, а в коде отказаться от serialize() и unserialize()? Проверьте через профилирование , сколько времени занимает каждый этап. Может будет лучше вообще все эти данные получить в консо...
ElisDN
2022.01.27, 20:16
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

В конфигурации создать 10 очередей? Но как потом рандомно разложить задачи по этим очередям? Да, в случае yii2-queue объявить несколько отдельных: 'bootstrap' => [ 'queue1', ... 'queue10', ], 'components' => [ 'queue1' = [...], ... 'queue10' = [...], ], И дёргать рандомно: Yii::$app->get('queue' . ...
ElisDN
2022.01.27, 13:05
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

А в общем да, вместо создания одной задачи с 10 000 товаров в контроллере лучше создать 100 задач по 100 товаров и рандомно разложить в 10 очередей, для которых поднять >=10 воркеров.
ElisDN
2022.01.27, 12:26
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

Помимо этого вы делаете сохранение с валидацией: $trade->save(); Если в классе Trade в rules() есть правила валидации 'exist' или 'unique', то они тоже будут при каждом save ходить в БД. Поэтому если такие есть, то можно либо импортировать без валидации: $trade->save(false); Либо сделать отдельный с...
ElisDN
2022.01.27, 12:22
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

Ещё у вас в цикле выполняется одинаковый для каждого продукта запрос:

Код: Выделить всё

$defaultCurrency = Currency::find()->where(['default' => 1, 'module' => 2])->one();
Его нужно переместить вверх к запросу $settings до цикла.
ElisDN
2022.01.27, 12:13
Форум: Общие вопросы (Yii 2.x)
Тема: Импорт товаров через rabbitmq
Ответы: 40
Просмотры: 5019

Re: Импорт товаров через rabbitmq

Вы можете сократить потребление памяти, если для всех дополнительных запросов кроме $trade вместо больших объектов со всеми полями: $currency = Currency::find()->where(...)->one(); будете запрашивать данные в виде ассоциативного массива asArray() только с нужными в select(...) полями: $currency = Cu...
ElisDN
2022.01.25, 12:46
Форум: Общие вопросы (Yii 2.x)
Тема: Docker-compose up и php 7.1.33
Ответы: 5
Просмотры: 1593

Re: Docker-compose up и php 7.1.33

Ну так замените версию на:

Код: Выделить всё

image: yiisoftware/yii2-php:7.3-apache
Там как раз будет PHP 7.3
ElisDN
2022.01.24, 17:26
Форум: Общие вопросы (Yii 2.x)
Тема: Docker-compose up и php 7.1.33
Ответы: 5
Просмотры: 1593

Re: Docker-compose up и php 7.1.33

Какой именно образ вы используете?
ElisDN
2022.01.20, 20:31
Форум: Общие вопросы (Yii 2.x)
Тема: Optimistic Lock
Ответы: 13
Просмотры: 2924

Re: Optimistic Lock

Алена писал(а): 2022.01.20, 17:16 Т.е в момент отправки формы нужно сравнить значения скрытых полей с чем?
С переданными открытыми полями.
ElisDN
2022.01.20, 16:09
Форум: Общие вопросы (Yii 2.x)
Тема: Optimistic Lock
Ответы: 13
Просмотры: 2924

Re: Optimistic Lock

Просто так в классическом варианте с сервером Apache или PHP-FPM сравнить запросы не получится, так как при отправке формы у каждого пользователя запускается свой экземпляр PHP-кода, который ничего не знает о соседних запросах. И oldAttributes не поможет, так как во время между Model::findOne и mode...
ElisDN
2022.01.18, 18:52
Форум: Общие вопросы (Yii 2.x)
Тема: Поддомен через UrlManager
Ответы: 3
Просмотры: 952

Re: Поддомен через UrlManager

Прописать поддомену A или CNAME запись в настройках DNS.
ElisDN
2022.01.17, 17:50
Форум: Общие вопросы (Yii 2.x)
Тема: Unknown component ID: request in ServiceLocator.php:139
Ответы: 3
Просмотры: 1211

Re: Unknown component ID: request in ServiceLocator.php:139

А конфиги вроде config/web-local.php на хостинг поместили?
ElisDN
2021.12.22, 18:36
Форум: Общие вопросы (Yii 2.x)
Тема: Как использовать событие ( человеческим языком ) ?
Ответы: 21
Просмотры: 17672

Re: Как использовать событие ( человеческим языком ) ?

Как в данном случае вызвать метод myMetodReadToBd() после отправки каждого отдельного письма, чтоб сделать описанное выше исключительно при работе через компонент mailers? Отнаследовать свой mailer от класса Component и в нём триггерить событие: class Mailer extends Component { const MESSAGE_SENT =...