RabbitMQ / AMQPセットアップを既存のM2 EEインストールに追加する方法はありますか?すべてのドキュメントは、インストール時に実行する必要があることを叫んでいるようですが、少し制限されているようです。しかし、ホスト、ポートなどを構成するための管理者はどこにも見つかりません。
RabbitMQ / AMQPセットアップを既存のM2 EEインストールに追加する方法はありますか?すべてのドキュメントは、インストール時に実行する必要があることを叫んでいるようですが、少し制限されているようです。しかし、ホスト、ポートなどを構成するための管理者はどこにも見つかりません。
回答:
次の手順が役立ちます。
次の要素を配列に追加しますapp/etc/env.php
:
'queue' => [
'amqp' => [
'host' => 'localhost',
'port' => '5672',
'user' => 'guest',
'password' => 'guest',
'virtualhost' => '/',
'ssl' => ''
]
]
\Magento\Amqp\Model\Topology::install
。RabbitMQ管理プラグインは、現在の構成を表示するための優れたツールです現在、RabbitMQのサポートは非常に基本的なレベルで実装されており、最も近いMagentoリリースの範囲で改善される予定です。現時点での最良のオプションは、可能であればMagentoを再インストールすることです。
setup_module
、キューをRabbitMQマネージャーに表示しました
これは、現在2.1.7以降に組み込まれているようです(おそらく以前のバージョンですか?)。しかし、これがまだ必要な場合は、これでテストしましたが、うまくいきました。
<?php
namespace MyNamespace\MyModule\Setup;
use Magento\Amqp\Model\Topology;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
class InstallSchema implements InstallSchemaInterface
{
/**
* @var Topology
*/
private $topology;
/**
* InstallData constructor.
*/
public function __construct(Topology $topology)
{
$this->topology = $topology;
}
/**
* Installs DB schema for a module
*
* @param SchemaSetupInterface $setup
* @param ModuleContextInterface $context
*
* @return void
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$setup->startSetup();
$this->topology->install();
$setup->endSetup();
}
}
すべてのsetup:install
コマンドは、を使用して変更できますsetup:store-config:set
。
--base-url
いますが、どのように使用して、devdocs.magento.com / guides / v2.0 / install-gde / prereq /…にリストされているオプションを設定できますか?たとえば、渡す--amqp-host
と、オプションが存在しないというエラーが表示されます。