Thêm RabbitMQ vào cài đặt Magento 2 EE hiện có


8

Có cách nào để thêm thiết lập RabbitMQ / AMQP vào bản cài đặt M2 EE hiện tại không? Tất cả các tài liệu dường như hét lên rằng nó phải được thực hiện khi cài đặt nhưng điều đó có vẻ hơi hạn chế. Tuy nhiên, tôi không thể tìm thấy bất cứ nơi nào trong quản trị viên để định cấu hình máy chủ, cổng, v.v.

Câu trả lời:


7

Các bước sau đây sẽ giúp:

  1. Thêm phần tử sau vào mảng trong app/etc/env.php:

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

  2. Đảm bảo rằng các trao đổi, hàng đợi và ánh xạ trao đổi hàng đợi được cấu hình đúng ở phía RabbitMQ. Tại thời điểm này, việc này chỉ được thực hiện một lần khi mô-đun AMQP được cài đặt. Tuy nhiên, có thể bắt đầu quá trình cấu hình RabbitMQ bằng cách gọi \Magento\Amqp\Model\Topology::install. Plugin quản lý RabbitMQ là một công cụ tốt để xem cấu hình hiện tại

Hiện tại, hỗ trợ RabbitMQ được triển khai ở mức rất cơ bản và sẽ được cải thiện trong phạm vi phát hành Magento gần nhất. Tùy chọn tốt nhất bây giờ là cài đặt lại Magento nếu có thể.


Cảm ơn, tôi đã chạy cài đặt và tìm thấy cài đặt env.php nhưng không biết về bước cài đặt cấu trúc liên kết. Đó có thể là lý do tại sao bài kiểm tra của tôi không làm gì cả.
robjingram

1
Chỉ cần lưu ý rằng ở trên là trường hợp. Tôi đã buộc thiết lập AMQP chạy lại bằng cách xóa nó khỏi setup_modulevà hàng đợi của tôi sau đó xuất hiện trong trình quản lý RabbitMQ
robjingram

Bạn thực sự có thể đưa Magento \ Amqp \ Model \ Topology vào mô-đun Nâng cấp của riêng bạn và gọi phương thức $ this-> topology-> install () từ đó mà không cần nhấn mạnh bảng setup_module.

0

Điều này dường như được xây dựng trong 2.1.7+ (có thể sớm hơn?). Nhưng nếu bạn vẫn cần cái này, tôi đã thử với cái này và nó hoạt động:

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

Tất cả setup:installcác lệnh có thể được thay đổi bằng cách sử dụng setup:store-config:set.


Trợ giúp cho lệnh đó liệt kê một số tham số mà tôi có thể đặt, --base-urlnhưng tôi có thể sử dụng nó như thế nào để đặt bất kỳ tùy chọn nào được liệt kê trên devdocs.magento.com/guides/v2.0/install-gde/prereq/ . Ví dụ: nếu tôi vượt qua, --amqp-hosttôi gặp lỗi rằng tùy chọn không tồn tại.
robjingram

Chà, tôi gần như chắc chắn về điều đó. Tôi không thể kiểm tra trực tiếp vì tôi không có phiên bản EE để kiểm tra, bạn có thể thử tạo một bản cài đặt mới (ở nơi khác) bằng cách sử dụng các tùy chọn tham số này và sau đó xem / app / etc / env .php ... tôi chắc chắn rằng loại cấu hình cục bộ như vậy được lưu trữ trên tệp này.
MauroNigrele
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.