Skip to content

Conversation

Meggielqk
Copy link
Collaborator

No description provided.

@Meggielqk Meggielqk added this to the 6.0.0 milestone Sep 10, 2025
@savonarola savonarola force-pushed the r60-message-queue branch 2 times, most recently from 074052b to 17c1672 Compare September 16, 2025 14:08
@Meggielqk Meggielqk marked this pull request as ready for review September 24, 2025 01:20
@Meggielqk Meggielqk requested a review from lina50 September 24, 2025 02:46
@Meggielqk Meggielqk requested review from Copilot and id September 29, 2025 08:42
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces comprehensive documentation for the Message Queue feature in EMQX 6.0. The documentation covers conceptual explanations, practical usage guides, and quick start tutorials across English, Chinese, and Japanese languages.

Key changes in this PR:

  • Adds complete Message Queue documentation with concept explanations, user guides, and quick start tutorials
  • Updates the messaging introduction pages to reference the new Message Queue feature
  • Adds navigation structure for Message Queue documentation in the directory configuration

Reviewed Changes

Copilot reviewed 14 out of 20 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
zh_CN/messaging/introduction.md Updates Chinese messaging introduction to include Message Queue as an extended MQTT feature
zh_CN/message-queue/*.md Adds comprehensive Chinese documentation for Message Queue concepts, usage guide, and quick start tutorial
ja_JP/message-queue/*.md Adds Japanese documentation for Message Queue user guide, quick start, and concepts
en_US/messaging/introduction.md Updates English messaging introduction to include Message Queue documentation
en_US/message-queue/*.md Adds complete English documentation for Message Queue feature
zh_CN/dashboard/cluster_settings.md Minor update to cluster description functionality
en_US/dashboard/cluster_settings.md Minor update to cluster description functionality
dir.yaml Adds Message Queue section to documentation navigation structure
Comments suppressed due to low confidence (2)

zh_CN/message-queue/message-queue-task.md:1

  • The explanation of message.key is inconsistent. The text states it extracts from the client ID of the message publisher, but message.key typically refers to a message property, not the client ID. This should be clarified or corrected to match the actual implementation.
# 消息队列用户指南

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@Meggielqk Meggielqk requested a review from zmstone September 29, 2025 08:43
@emqx emqx deleted a comment from Copilot AI Sep 29, 2025
Copy link
Contributor

@savonarola savonarola Sep 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: we better remove

  • "[MQ subscription registry]"
  • "via emqx_ds_client"
    strings from the pic: they are related to very internal details

Co-authored-by: Ilia Averianov <av@rubybox.ru>
Co-authored-by: Ilia Averianov <av@rubybox.ru>
- **Queue Key Expression**: `message.key` (or any field name you will use as key)
3. Click **Create**.

The “Queue Key Expression” defines where to extract the key from the message’s metadata. Set to `message.key` means EMQX will extract the queue key from the client ID of the message publisher.
Copy link
Contributor

@savonarola savonarola Sep 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe give somewhere an example of the context on which the expression is evaluated.
In json form:

{
  "message": {
    "qos": 0,
    "topic": "some/topic",
    "payload": "some-payload",
    "headers": {
      "client_attrs": {},
      "proto_ver": 5,
      "properties": {
        "User-Property": {
          "user-prop": "some-value"
        }
      },
      "peerhost": "127.0.0.1",
      "username": "undefined",
      "protocol": "mqtt",
      "peername": "127.0.0.1:49352"
    },
    "from": "clientid",
    "timestamp": 1759238376252,
    "id": "..non utf8 bytes...",
    "flags": {
      "retain": false,
      "dup": false
    },
    "extra": {}
  }
}

As Erlang term:

#{message =>
      #{extra => #{},
        flags => #{dup => false,retain => false},
        id => <<0,6,64,4,154,125,229,77,244,69,0,0,28,21,0,2>>,
        timestamp => 1759238376252,from => <<"clientid">>,
        headers =>
            #{peername => <<"127.0.0.1:49352">>,protocol => mqtt,
              username => undefined,peerhost => <<"127.0.0.1">>,
              properties =>
                  #{'User-Property' => #{<<"user-prop">> => <<"some-value">>}},
              proto_ver => 5,client_attrs => #{}},
        payload => <<"some-payload">>,topic => <<"some/topic">>,
        qos => 0}}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also IMO we may link the word "Expression" when we mention it to the variform docs, so that a reader could easily get the syntax of the expressions.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's do it tomorrow.

savonarola
savonarola previously approved these changes Sep 30, 2025
Co-authored-by: Ilia Averianov <av@rubybox.ru>
@id id merged commit 25a5aec into release-6.0 Sep 30, 2025
8 checks passed
@id id deleted the r60-message-queue branch September 30, 2025 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants