Tambahkan RabbitMQ ke instalasi Magento 2 EE yang ada

8

Apakah ada cara untuk menambahkan setup RabbitMQ / AMQP ke instalasi M2 EE yang ada? Semua dokumen tampaknya berteriak bahwa itu harus dilakukan pada waktu instalasi tetapi itu agak membatasi. Namun, saya tidak dapat menemukan tempat di admin untuk mengkonfigurasi host, port dll.

robjingram
sumber

Jawaban:

7

Langkah-langkah berikut akan membantu:

  1. Tambahkan elemen berikut ke array di app/etc/env.php:

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

  2. Pastikan pertukaran, antrian dan pemetaan pertukaran ke antrian dikonfigurasi dengan benar di sisi RabbitMQ. Saat ini ini dilakukan hanya sekali ketika modul AMQP diinstal. Namun, dimungkinkan untuk memulai proses konfigurasi RabbitMQ dengan menelepon \Magento\Amqp\Model\Topology::install. Plugin manajemen RabbitMQ adalah alat yang baik untuk melihat konfigurasi saat ini

Saat ini dukungan RabbitMQ diimplementasikan pada tingkat yang sangat dasar dan akan ditingkatkan dalam lingkup rilis Magento terdekat. Opsi terbaik untuk saat ini adalah menginstal ulang Magento jika memungkinkan.

Alex Paliarush
sumber
Terima kasih, saya menjalankan pengaturan dan menemukan pengaturan env.php tetapi tidak tahu tentang langkah pemasangan topologi. Mungkin itulah sebabnya pengujian saya tidak melakukan apa-apa.
robjingram
1
Hanya mencatat bahwa di atas adalah masalahnya. Saya memaksa pengaturan AMQP untuk berjalan lagi dengan menghapusnya setup_moduledan antrian saya muncul di manajer
RabbitMQ
Anda benar-benar dapat menyuntikkan Magento \ Amqp \ Model \ Topology ke modul Anda sendiri UpgradeData dan memanggil metode $ this-> topology-> install () dari sana tanpa menekankan tabel setup_module.
0

Ini tampaknya dibangun sekarang di 2.1.7+ (mungkin lebih awal?). Tetapi jika Anda masih membutuhkan ini, saya diuji dengan ini dan berfungsi:

<?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();
    }
}
kirkmadera
sumber
-1

Semua setup:installperintah dapat diubah menggunakan setup:store-config:set.

MauroNigrele
sumber
Bantuan untuk perintah itu mencantumkan beberapa parameter yang dapat saya atur seperti --base-urltetapi bagaimana saya dapat menggunakannya untuk mengatur salah satu opsi yang terdaftar di devdocs.magento.com/guides/v2.0/install-gde/prereq/… ? Misalnya, jika saya lulus --amqp-hostsaya mendapatkan kesalahan bahwa opsi tidak ada.
robjingram
Yah, aku hampir yakin tentang itu. Saya tidak dapat mengujinya secara langsung karena saya tidak memiliki versi EE untuk diuji, Anda dapat mencoba membuat instalasi baru (di tempat lain) dengan menggunakan opsi parameter ini dan kemudian melihat / app / etc / env .php ... saya yakin sekali bahwa konfigurasi lokal semacam itu disimpan pada file ini.
MauroNigrele