Найден 5791 результат
- 2022.01.28, 20:06
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
Привязка очереди к exchange будет в автоматическом режиме или надо в настройках rabbitmq, в панели управления, привязать очередь к exchange? Расширение yii2-queue в драйвере для php-amqplib/php-amqplib умеет только создавать и привязывать exchange с типом direct. А в yii2-queue с enqueue/amqp-lib у...
- 2022.01.28, 19:43
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
А как всё-таки с настройками самого rabbitmq? Нужно определять отдельные exchenge для каждой очереди? Либо сделать отдельные exchange1..10 для каждой очереди queue1..10 и самому отправлять в 'exchange' . random_int(1, 10) Либо подключить плагин и определить один exchange с типом x-random и привязат...
- 2022.01.28, 16:48
- Форум: REST API (Yii 2.x)
- Тема: Как бы вы делали поиск в rest?
- Ответы: 3
- Просмотры: 8709
- 2022.01.28, 11:49
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
Вот такая цепочка очередей может влиять на скорость обработки данных? Или лучше использовать serializer в конфигурации, а в коде отказаться от serialize() и unserialize()? Проверьте через профилирование , сколько времени занимает каждый этап. Может будет лучше вообще все эти данные получить в консо...
- 2022.01.27, 20:16
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
В конфигурации создать 10 очередей? Но как потом рандомно разложить задачи по этим очередям? Да, в случае yii2-queue объявить несколько отдельных: 'bootstrap' => [ 'queue1', ... 'queue10', ], 'components' => [ 'queue1' = [...], ... 'queue10' = [...], ], И дёргать рандомно: Yii::$app->get('queue' . ...
- 2022.01.27, 13:05
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
А в общем да, вместо создания одной задачи с 10 000 товаров в контроллере лучше создать 100 задач по 100 товаров и рандомно разложить в 10 очередей, для которых поднять >=10 воркеров.
- 2022.01.27, 12:26
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
Помимо этого вы делаете сохранение с валидацией: $trade->save(); Если в классе Trade в rules() есть правила валидации 'exist' или 'unique', то они тоже будут при каждом save ходить в БД. Поэтому если такие есть, то можно либо импортировать без валидации: $trade->save(false); Либо сделать отдельный с...
- 2022.01.27, 12:22
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
Ещё у вас в цикле выполняется одинаковый для каждого продукта запрос:
Его нужно переместить вверх к запросу $settings до цикла.
Код: Выделить всё
$defaultCurrency = Currency::find()->where(['default' => 1, 'module' => 2])->one();
- 2022.01.27, 12:13
- Форум: Общие вопросы (Yii 2.x)
- Тема: Импорт товаров через rabbitmq
- Ответы: 40
- Просмотры: 5011
Re: Импорт товаров через rabbitmq
Вы можете сократить потребление памяти, если для всех дополнительных запросов кроме $trade вместо больших объектов со всеми полями: $currency = Currency::find()->where(...)->one(); будете запрашивать данные в виде ассоциативного массива asArray() только с нужными в select(...) полями: $currency = Cu...
- 2022.01.25, 12:46
- Форум: Общие вопросы (Yii 2.x)
- Тема: Docker-compose up и php 7.1.33
- Ответы: 5
- Просмотры: 1591
Re: Docker-compose up и php 7.1.33
Ну так замените версию на:
Там как раз будет PHP 7.3
Код: Выделить всё
image: yiisoftware/yii2-php:7.3-apache
- 2022.01.24, 17:26
- Форум: Общие вопросы (Yii 2.x)
- Тема: Docker-compose up и php 7.1.33
- Ответы: 5
- Просмотры: 1591
Re: Docker-compose up и php 7.1.33
Какой именно образ вы используете?
- 2022.01.20, 20:31
- Форум: Общие вопросы (Yii 2.x)
- Тема: Optimistic Lock
- Ответы: 13
- Просмотры: 2920
- 2022.01.20, 16:09
- Форум: Общие вопросы (Yii 2.x)
- Тема: Optimistic Lock
- Ответы: 13
- Просмотры: 2920
Re: Optimistic Lock
Просто так в классическом варианте с сервером Apache или PHP-FPM сравнить запросы не получится, так как при отправке формы у каждого пользователя запускается свой экземпляр PHP-кода, который ничего не знает о соседних запросах. И oldAttributes не поможет, так как во время между Model::findOne и mode...
- 2022.01.18, 18:52
- Форум: Общие вопросы (Yii 2.x)
- Тема: Поддомен через UrlManager
- Ответы: 3
- Просмотры: 952
Re: Поддомен через UrlManager
Прописать поддомену A или CNAME запись в настройках DNS.
- 2022.01.17, 17:50
- Форум: Общие вопросы (Yii 2.x)
- Тема: Unknown component ID: request in ServiceLocator.php:139
- Ответы: 3
- Просмотры: 1207
Re: Unknown component ID: request in ServiceLocator.php:139
А конфиги вроде config/web-local.php на хостинг поместили?
- 2022.01.16, 20:56
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как пропускать параметры в Контейнере зависимостей Yii2?
- Ответы: 1
- Просмотры: 849
Re: Как пропускать параметры в Контейнере зависимостей Yii2?
Код: Выделить всё
$container->set(UnsavedPurchaseService::class, ['reporter' => Instance::of(TelegramReporter::class)]);
- 2022.01.16, 20:51
- Форум: Общие вопросы (Yii 2.x)
- Тема: Почему Контейнер зависимостей не видит параметр в ассоциативном массиве?
- Ответы: 5
- Просмотры: 2436
Re: Почему Контейнер зависимостей не видит параметр в ассоциативном массиве?
Код: Выделить всё
\Yii::$container->get($class, $params);
- 2022.01.03, 19:07
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как передать аргумент при вызове метода модели?
- Ответы: 2
- Просмотры: 927
Re: Как передать аргумент при вызове метода модели?
Код: Выделить всё
$model->getGoalCard($id)
- 2021.12.22, 18:36
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как использовать событие ( человеческим языком ) ?
- Ответы: 21
- Просмотры: 17654
Re: Как использовать событие ( человеческим языком ) ?
Как в данном случае вызвать метод myMetodReadToBd() после отправки каждого отдельного письма, чтоб сделать описанное выше исключительно при работе через компонент mailers? Отнаследовать свой mailer от класса Component и в нём триггерить событие: class Mailer extends Component { const MESSAGE_SENT =...
- 2021.12.22, 12:36
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как отфильтровать данные по полю JSON
- Ответы: 2
- Просмотры: 2138
Re: Как отфильтровать данные по полю JSON
Код: Выделить всё
->andWhere(['@>', 'specialityIds_json', 14])