RabbitMQを既存のMagento 2 EEインストールに追加する


8

RabbitMQ / AMQPセットアップを既存のM2 EEインストールに追加する方法はありますか?すべてのドキュメントは、インストール時に実行する必要があることを叫んでいるようですが、少し制限されているようです。しかし、ホスト、ポートなどを構成するための管理者はどこにも見つかりません。

回答:


7

次の手順が役立ちます。

  1. 次の要素を配列に追加しますapp/etc/env.php

    'queue' => [ 'amqp' => [ 'host' => 'localhost', 'port' => '5672', 'user' => 'guest', 'password' => 'guest', 'virtualhost' => '/', 'ssl' => '' ] ]

  2. 交換、キュー、および交換からキューへのマッピングが、RabbitMQ側で適切に構成されていることを確認します。現時点では、これはAMQPモジュールがインストールされているときに一度だけ行われます。ただし、を呼び出すことにより、RabbitMQ設定プロセスを開始することができます\Magento\Amqp\Model\Topology::installRabbitMQ管理プラグインは、現在の構成を表示するための優れたツールです

現在、RabbitMQのサポートは非​​常に基本的なレベルで実装されており、最も近いMagentoリリースの範囲で改善される予定です。現時点での最良のオプションは、可能であればMagentoを再インストールすることです。


おかげで、セットアップを実行してenv.php設定を見つけましたが、トポロジーのインストール手順を知りませんでした。それが私のテストが何もしていない理由かもしれません。
robjingram

1
上記が事実であったことに注意してください。AMQPセットアップを強制的に再実行してから削除しsetup_module、キューをRabbitMQマネージャーに表示しました
robjingram

実際にMagento \ Amqp \ Model \ Topologyを独自のモジュールUpgradeDataに注入し、setup_moduleテーブルにストレスをかけることなく、そこから$ this-> topology-> install()メソッドを呼び出すことができます。

0

これは、現在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();
    }
}

-1

すべてのsetup:installコマンドは、を使用して変更できますsetup:store-config:set


そのコマンドのヘルプには、設定できるいくつかのパラメーターがリストされて--base-urlいますが、どのように使用して、devdocs.magento.com / guides / v2.0 / install-gde / prereq /…にリストされているオプションを設定できますか?たとえば、渡す--amqp-hostと、オプションが存在しないというエラーが表示されます。
robjingram

まあ、私はそれについてほぼ確信していた。テストするEEバージョンがないため、直接テストすることはできません。これらのパラメーターオプションを使用して(他の場所で)フレッシュインストールを実行してから、/ app / etc / envを確認してください。 .php ...このようなローカル構成がこのファイルに保存されていることは確かです。
MauroNigrele 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.