Aggiungi RabbitMQ all'installazione esistente di Magento 2 EE


8

C'è un modo per aggiungere la configurazione RabbitMQ / AMQP a un'installazione M2 EE esistente? Tutti i documenti sembrano gridare che deve essere fatto al momento dell'installazione, ma sembra un po 'limitante. Tuttavia, non riesco a trovare da nessuna parte nell'amministratore per configurare host, porta ecc.

Risposte:


7

I seguenti passaggi dovrebbero aiutare:

  1. Aggiungi il seguente elemento all'array in app/etc/env.php:

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

  2. Accertarsi che scambi, code e mappature scambio-coda siano configurati correttamente sul lato RabbitMQ. Al momento questo viene fatto solo una volta quando è installato il modulo AMQP. Tuttavia, è possibile avviare il processo di configurazione di RabbitMQ chiamando \Magento\Amqp\Model\Topology::install. Il plug-in di gestione RabbitMQ è un ottimo strumento per visualizzare la configurazione corrente

Al momento il supporto RabbitMQ è implementato su un livello molto semplice e verrà migliorato nell'ambito delle versioni Magento più vicine. L'opzione migliore per ora è reinstallare Magento, se possibile.


Grazie, ho eseguito il programma di installazione e ho trovato le impostazioni di env.php ma non sapevo del passaggio di installazione della topologia. Questo potrebbe essere il motivo per cui il mio test non sta facendo nulla.
robjingram,

1
Solo notando che quanto sopra era il caso. Ho costretto a riavviare l'installazione di AMQP rimuovendola da setup_modulee le mie code sono poi
apparse

Puoi effettivamente iniettare Magento \ Amqp \ Model \ Topology nel tuo modulo UpgradeData e invocare il metodo $ this-> topology-> install () da lì senza stressare la tabella setup_module.

0

Questo sembra essere integrato ora in 2.1.7+ (forse prima?). Ma se hai ancora bisogno di questo, ho provato con questo e funziona:

<?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

Tutti i setup:installcomandi possono essere modificati utilizzando setup:store-config:set.


La guida per quel comando elenca alcuni parametri che posso impostare come, --base-urlma come posso usarlo per impostare una delle opzioni elencate su devdocs.magento.com/guides/v2.0/install-gde/prereq/… ? Ad esempio, se passo, --amqp-hostricevo un errore che l'opzione non esiste.
robjingram,

Beh, ne ero quasi sicuro. Non posso provarlo direttamente perché non ho una versione EE da testare, puoi provare a fare una nuova installazione (in un altro posto) usando queste opzioni di parametri e quindi dare un'occhiata a / app / etc / env .php ... sono sicuro che questo tipo di configurazioni locali sono memorizzate in questo file.
MauroNigrele,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.