как установить rabbitmq на windows
Установка RabbitMQ на windows 10
RabbitMQ считается одной из самых продвинутых систем по работе с очередями. Это всё благодаря тому, что RabbitMQ имеет много возможностей. Если хорошо разобраться в этой системе, то, в дальнейшем, работа с другими системами очередей не вызовет у вас конфуза.
Но, прежде, чем писать RabbitMQ tutorial, как обычно, начнём с установки и запуска. В этой статье я шаг за шагом продемонстрирую процесс установки. Если вы ещё не знакомы, с системами очередей, и слабо понимаете механизм их работы, то советую прочитать ранее опубликованную статью об основам очередей.
Установка Erlang
RabbitMQ запускается в виртуальной среде Erlang. Не спрашивайте зачем, просто установите Erlang, без которого RabbitMQ не сможет работать. Последнюю версию для windows можно скачать по ссылке.
На странице скачивания установочного файла нужно выбрать версию, в зависимости от вашей системы (в моём случае, это версия для 64-разрядного процессора):
Установка RabbitMQ
Установка плагина управления RabbitMQ с WEB-интерфейса
После установки, RabbitMQ сразу же будет запущен, потому, можно сразу же начинать с ним работать.
Обычным для программиста является работа из консоли. Но, иногда, одной консоли бывает недостаточно. Потому, в этом шаге будет установлен плагин RabbitMQ Web для работы с очередями из WEB-интерфейса. Этот интерфейс предоставляет удобный вывод статистики, информацию о работающих процессах, логах, и т.д.
Или же, проще нажать кнопку winsows, и начать печатать rabbit, и, из найденных результатов интересует в данном случае только RabbitMQ Command Prompt.
Запустив который мы окажемся в консоли, в нужной для работы директории.
Заключительным шагом от нас требуется перезапустить сервис, поочерёдно выполнив команды:
Ожидаемо должны увидеть страницу входа в WEB-интерфейс:
По умолчанию, данные для входа в панель управления:
Логин: guest
Пароль: guest
Вот, что вы должны увидеть в итоге:
На этом установка полностью завершена, и сервис RabbitMQ готов к работе. Теперь можно свободно работать, и использовать все функции этого мощного и полезного инструмента. В следующей статье по RabbitMQ будет рассмотрен практический пример по работе с системой очередей: добавление, удаление, обработка, и т.д.
Протестируем работу сервиса
Резюме
В этой статье я показал, как установить RabbitMQ на windows 10, как протестировать его работу, и установить плагин RabbitMQ WEB (для работы в WEB-интерфейсе). Это очень крутой инструмент, который рекомендовано освоить каждому программисту.
Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql
Get the latest posts delivered right to your inbox
Installing on Windows
Overview
This guide covers RabbitMQ installation on Windows. It focuses on the two recommended installation options:
The guide also covers a few post-installation topics in the context of Windows:
and more. These topics are covered in more details in the rest of documentation guides.
A separate companion guide covers known Windows-specific issues and ways to mitigate them.
Using chocolatey
RabbitMQ packages are distributed via Chocolatey. New releases can take a while (sometimes weeks) to get through approvals, so this option is not guaranteed to provide the latest release. It does, however, manage the required dependencies.
To install RabbitMQ using Chocolatey, run the following command from the command line or from PowerShell:
For many use cases, Chocolatey is the optimal installation method.
The Chocolatey RabbitMQ package is open source and can be found on GitHub.
Using the Installer
The official RabbitMQ installer is produced for every RabbitMQ release.
Compared to installation via Chocolatey, this option gives Windows users the most flexibility but also requires them to be aware of certain assumptions and requirements in the installer:
When these conditions are not met, Windows service and CLI tools may require reinstallation or other manual steps to get them to function as expected.
This is covered in more detail in the Windows-specific Issues guide.
Dependencies
RabbitMQ requires a 64-bit supported version of Erlang for Windows to be installed. Latest binary builds for Windows can be obtained from the Erlang/OTP Version Tree page.
Note that Erlang must be installed using an administrative account or it won’t be discoverable to the RabbitMQ Windows service.
Once a supported version of Erlang is installed, download the RabbitMQ installer, rabbitmq-server-
Direct Downloads
Run RabbitMQ Windows Service
Once both Erlang and RabbitMQ have been installed, a RabbitMQ node can be started as a Windows service. The RabbitMQ service starts automatically. RabbitMQ Windows service can be managed from the Start menu.
CLI Tools
RabbitMQ nodes are often managed, inspected and operated using CLI Tools in PowerShell.
In order for these tools to work they must be able to authenticate with RabbitMQ nodes using a shared secret file called the Erlang cookie.
The main CLI tools guide covers most topics related to command line tool usage.
In order to explore what commands various RabbitMQ CLI tools provide, use the help command:
To learn about a specific command, pass its name as an argument to help :
Cookie File Location
On Windows, the cookie file location depends on whether the HOMEDRIVE and HOMEPATH environment variables are set.
If RabbitMQ is installed using a non-administrative account, a shared secret file used by nodes and CLI tools will not be placed into a correct location, leading to authentication failures when rabbitmqctl.bat and other CLI tools are used.
One of these options can be used to mitigate:
Node Configuration
The service starts using its default settings, listening for connections on default interfaces and ports.
Node configuration is primarily done using a configuration file. A number of available environment variables can be used to control node’s data location, configuration file path and so on.
This is covered in more detail in the Configuration guide
Environment Variable Changes on Windows
Important: after setting environment variables, it is necessary to re-install the Windows service. Restarting the service will not be sufficient.
Managing a RabbitMQ Node
Managing the Service
Links to RabbitMQ directories can be found in the Start Menu.
There is also a link to a command prompt window that will start in the sbin dir, in the Start Menu. This is the most convenient way to run the command line tools.
Stopping a Node
To stop the broker or check its status, use rabbitmqctl.bat in sbin (as an administrator).
Checking Node Status
The following CLI command runs a basic health check and displays some information about the node if it is running.
For it to work, two conditions must be true:
Log Files and Management
Server logs are critically important in troubleshooting and root cause analysis. See Logging and File and Directory Location guides to learn about log file location, log rotation and more.
Firewalls and Security Tools
Firewalls and security tools can prevent RabbitMQ Windows service and CLI tools from operating correctly.
Such tools should be configured to whitelist access to ports used by RabbitMQ.
Default User Access
See the documentation on access control for information on how to create more users and delete the guest user.
Port Access
RabbitMQ nodes bind to ports (open server TCP sockets) in order to accept client and CLI tool connections. Other processes and tools such as anti-virus software may prevent RabbitMQ from binding to a port. When that happens, the node will fail to start.
CLI tools, client libraries and RabbitMQ nodes also open connections (client TCP sockets). Firewalls can prevent nodes and CLI tools from communicating with each other. Make sure the following ports are accessible:
Upgrading Erlang VM
If you have an existing installation and are planning to upgrade the Erlang VM from a 32-bit to a 64-bit version then you must uninstall the broker before upgrading the VM. The installer will not be able to stop or remove a service that was installed with an Erlang VM of a different architecture.
Dump File Location When Running as a Service
Getting Help and Providing Feedback
If you have questions about the contents of this guide or any other topic related to RabbitMQ, don’t hesitate to ask them on the RabbitMQ mailing list.
Help Us Improve the Docs <3
If you’d like to contribute an improvement to the site, its source is available on GitHub. Simply fork the repository and submit a pull request. Thank you!
Installing on Windows Manually
Overview
This guide describes how RabbitMQ can be installed and configured manually on Windows. In general we recommend using one the more automation-friendly options for Windows when possible.
Install Erlang/OTP
RabbitMQ requires a 64-bit supported version of Erlang for Windows to be installed. Latest binary builds for Windows can be obtained from the Erlang/OTP Version Tree page.
Erlang will appear in the Start Menu, and \erl
Important: your system should only have one version of Erlang installed. Please consult the Windows-specific Issues page.
Make Sure ERLANG_HOME is Set
Install RabbitMQ Server
Direct Downloads
From the zip file, extract the folder named rabbitmq_server-3.9.9 into C:\Program Files\RabbitMQ (or somewhere suitable for application files).
Synchronise the Erlang Cookie
The Erlang cookie is a shared secret used for authentication between RabbitMQ nodes and CLI tools. The value is stored in a file commonly referred to as the Erlang cookie file.
The cookie file used by the service account and the user running rabbitmqctl.bat must be synchronised for CLI tools such as rabbitmqctl.bat to function. All nodes in a cluster must have the same cookie value (cookie file contents).
Locating CLI Tools and App Data
CLI tools
Within the rabbitmq_server-3.9.9\sbin directory are some scripts which run commands to control the RabbitMQ server.
The RabbitMQ server can be run as either an application or service (not both).
Log in as an administrator. To see the output, run these from a Command Prompt in the sbin directory.
Note: On Windows Vista (and later) it is necessary to elevate privilege (e.g. right-click on the icon to select Run as Administrator).
Set up the system path so RabbitMQ server and CLI tools from the sbin directory can be executed without using fully qualified paths.
Now it should be possible to run rabbitmq commands from any (administrator) Command Prompt.
Navigate to rabbitmq_server-3.9.9\sbin to run commands if the system path does not contain the RabbitMQ sbin directory.
Node Data Directory
Execute echo %APPDATA% at a Command Prompt to find this directory. Alternatively, Start > Run %APPDATA% will open this folder.
Running RabbitMQ Server as an Application
Customise RabbitMQ Environment Variables
The service will run fine using its default settings. It is possible to customise the RabbitMQ environment or edit configuration.
Important: after setting environment variables, it is necessary to restart the node.
Start the Broker as an Application
This will start a node in the background (not attached to the Command Prompt).
Alternatively, rabbitmq-server.bat can be executed in Windows Explorer to start a node in foreground.
When a node is started, a Command Prompt window opens, displays a short startup banner, indicating that the RabbitMQ broker has been started successfully.
Important: closing the original Command Prompt window will forcefully shut down a server started this way.
Running RabbitMQ Server as a Service
The service will run in the security context of the system account without the need for a user to be logged in on a console. This is normally more appropriate for production use. The server should not be run as a service and application simultaneously.
Customise RabbitMQ Environment Variables
The service will run fine using its default settings. It is possible to customise the RabbitMQ environment or edit configuration.
Important: after setting environment variables, it is necessary to reinstall the service.
Install the Service
Install the service by running
A service with the name defined by RABBITMQ_SERVICENAME should now appear in the Windows Services control panel (Start > Run services.msc ).
Managing the Service
To manage the service (install, remove, start, stop, enable, disable), use rabbitmq-service.bat commands. Alternatively, the Windows Services panel ( services.msc ) can be used to perform some of the same functions as the service script.
Start the Broker as a Service
To start the broker, execute
If the output from this command is » Service RABBITMQ_SERVICENAME started «, then the service was started successfully.
Upgrading Erlang VM
If you have an existing installation and are planning to upgrade the Erlang VM from a 32bit to a 64bit version then you must uninstall the broker before upgrading the VM. The installer will not be able to stop or remove a service that was installed with an Erlang VM of a different architecture.
Managing a RabbitMQ Node
Managing the Service
Links to RabbitMQ directories can be found in the Start Menu.
There is also a link to a command prompt window that will start in the sbin dir, in the Start Menu. This is the most convenient way to run the command line tools. Note that CLI tools will have to authenticate to the RabbitMQ node running locally. That involves a shared secret file which has to be placed into the correct location for the user.
Stopping a Node
To stop the broker or check its status, use rabbitmqctl.bat in sbin (as an administrator).
Checking Node Status
The following command performs the most basic node health check and displays some information about the node if it is running:
Log Files and Management
Server logs are critically important in troubleshooting and root cause analysis. See Logging and File and Directory Location guides to learn about log file location, log rotation and more.
Troubleshooting When Running as a Service
Default User Access
See the documentation on access control for information on how to create more users and delete the guest user.
Port Access
RabbitMQ nodes bind to ports (open server TCP sockets) in order to accept client and CLI tool connections. Other processes and tools such as anti-virus software may prevent RabbitMQ from binding to a port. When that happens, the node will fail to start.
CLI tools, client libraries and RabbitMQ nodes also open connections (client TCP sockets). Firewalls can prevent nodes and CLI tools from communicating with each other. Make sure the following ports are accessible:
Windows-specific Issues
We aim to make RabbitMQ a first-class citizen on Windows. However, sometimes there are circumstances beyond our control. Please consult the Windows-specific Issues page.
Getting Help and Providing Feedback
If you have questions about the contents of this guide or any other topic related to RabbitMQ, don’t hesitate to ask them on the RabbitMQ mailing list.
Help Us Improve the Docs <3
If you’d like to contribute an improvement to the site, its source is available on GitHub. Simply fork the repository and submit a pull request. Thank you!
Установка и управление RabbitMQ
Любой опытный системный администратор знает, что иногда откладывание задач на потом очень полезно и даже необходимо, особенно если задача трудоёмкая и отнимает много ресурсов. Для этого необходим брокер сообщений – программа, которая принимает сообщения (задачи) от различных отправителей (веб-приложений), формирует из них очередь, а затем распределяет их между рабочими процессами.
В данной статье речь пойдёт о проекте RabbitMQ – связке открытых приложений для осуществления функций брокера сообщений, которая реализует протокол Advanced Message Queuing Protocol (AMQP).
Сообщения, брокеры сообщений и очерёдность
Обмен сообщениями – это способ обмена определёнными данными между процессами, приложениями, виртуальными и физическими серверами. Эти сообщения, выполняющие некоторые вычислительные функции, могут содержать практически что угодно, от простого текста до больших блоков двоичных данных. Для корректного выполнения этого процесса необходима сторонняя программа – это и есть брокер сообщений (англ. Message Broker).
Брокер сообщений – это, как правило, группа приложений, каждый отдельный компонент которой предназначен для обработки определённого этапа обмена сообщениями: дл приёма сообщения, определении его в очередь и передаче сообщения рабочему процессу, ответственному за его выполнение. Часто вместо полноценных решений используются программы, изначально не предназначенные для этой работы (базы данных, демон cron, и т.д.); они просто создают очередь сообщений (что технически представляет бесконечные буферы), а затем передают их дл автоматической обработки либо для опроса.
Зачем нужны брокеры сообщений?
Брокеры сообщений выступают в роли посредника между различными сервисами (веб-приложениями). Они существенно снижают нагрузку и сокращают время доставки сообщений, поскольку задачи, на обработку которых уходит некоторое время, распределяются между рабочими процессами, предназначенными исключительно для выполнения этих задач. Они обеспечивают надёжный канал передачи сообщений от одного приложения другому.
Когда нужны брокеры сообщений?
В целом, основная функциональность брокеров сообщений охватывает множество областей, в том числе, но не ограничиваясь:
Краткий обзор RabbitMQ
RabbitMQ (вышел в 2007) – это один из наиболее популярных брокеров сообщений с открытым исходным кодом, который поставляется по лицензии Mozilla Public License v1.1 как реализация протокола Advanced Message Queuing Protocol. Разработанный на языке Erlang, RabbitMQ довольно прост в использовании и установке.
Как работает RabbitMQ?
RabbitMQ предоставляет интерфейс, соединяющий отправителей (Publishers) с получателями (Consumers) при помощи брокера, который распределяет данные в соответствующие списки – очереди сообщений (Message Queues).
Преимущества RabbitMQ
В отличие от других решений, RabbitMQ является полноценным стеком приложений, а не простой базой для применения выбранных вами приложений. Он предоставляет все необходимые инструменты в комплексе.
Краткий обзор AMQP
AMQP (Advanced Message Queuing Protocol) – это широко распространённый открытый стандарт для распространения и передачи сообщений. Как протокол и стандарт, он устанавливает общую основу для взаимодействия различных приложений и брокеров сообщений и устраняет проблемы, вызванные индивидуальным проектированием программ.
Установка RabbitMQ
Пакеты RabbitMQ поставляются системами CentOS/RHEL и Ubuntu/Debian. Но, как правило, такие пакеты устаревшие. Потому рекомендуется скачать и установить RabbitMQ вручную.
Примечание: Все действия руководства рекомендуется выполнять на свежем сервере, чтобы не нарушить работу запущенных ранее приложений и не вызвать сбой настроек.
Установка RabbitMQ в CentOS/RHEL
Прежде чем приступить к установке RabbitMQ, нужно установить зависимости программы, одной из которых является Erlang. Однако, прежде всего необходимо обновить систему и стандартные приложения; для этого запустите:
Для установки Erlang используйте команды:
Теперь можно установить RabbitMQ:
Установка RabbitMQ в Ubuntu 13/Debian 7
Процесс установки RabbitMQ в Ubuntu/Debian подобен установке в CentOS.
Для начала нужно обновить стандартные пакеты:
Включите репозиторий приложения RabbitMQ:
echo «deb http://www.rabbitmq.com/debian/ testing main» >> /etc/apt/sources.list
Добавьте ключ проверки пакета:
Снова обновите систему:
Теперь можно загрузить и установить RabbitMQ:
sudo apt-get install rabbitmq-server
Чтобы при запуске было обработано максимальное количество подключений, откройте и отредактируйте в nano следующий конфигурационный файл:
sudo nano /etc/default/rabbitmq-server
Раскомментируйте строку limit (просто удалите символ #), а затем сохраните и закройте файл (CTRL+X + Y).
Управление RabbitMQ
Как говорилось ранее, брокер RabbitMQ очень прост в использовании. В данном разделе приведены инструкции по управлению и настройке RabbitMQ.
Включение консоли управления
Консоль управления RabbitMQ (RabbitMQ Management Console) – это один из доступных плагинов, позволяющий мониторить процессы сервера RabbitMQ через графический пользовательский веб-интерфейс.
При помощи этой консоли можно:
Чтобы включить консоль RabbitMQ, запустите команду:
sudo rabbitmq-plugins enable rabbitmq_management
Теперь можно открыть консоль при помощи любого удобного браузера:
Стандартные имя и пароль – guest.
Примечание: Запустив консоль после запуска сервиса, не забудьте перезапустить его, чтобы обновить настройки.
Управление RabbitMQ в CentOS/RHEL
После установки приложение RabbitMQ не будет запускаться автоматически при загрузке системы.
Чтобы настроить автозапуск RabbitMQ, выполните:
chkconfig rabbitmq-server on
Для запуска, остановки, перезапуска и проверки состояния используйте команды:
# Запуск:
/sbin/service rabbitmq-server start
# Остановка:
/sbin/service rabbitmq-server stop
# Перезапуск:
/sbin/service rabbitmq-server restart
# Проверка статуса:
/sbin/service rabbitmq-server status
Управление RabbitMQ в Ubuntu/Debian
Чтобы запустить, остановить перезапустить и проверит статус приложения в Ubuntu и Debian, используйте:
# Запуск:
service rabbitmq-server start
# Остановка:
service rabbitmq-server stop
# Перезапуск:
service rabbitmq-server restart
# Проверка статуса:
service rabbitmq-server status
Готово! Теперь на сервере есть готовый к работе брокер сообщений.
Настройка RabbitMQ
RabbitMQ поставляется со стандартными настройками. В целом, они довольно надёжны инее требуют редактирования.
Чтобы получить информацию о пользовательской настройке RabbitMQ, обратитесь к документации приложения.
RabbitMQ tutorial 1 — Hello World
RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.
Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
Вступление
RabbitMQ ‒ это брокер сообщений. Его основная цель ‒ принимать и отдавать сообщения. Его можно представлять себе, как почтовое отделение: когда Вы бросаете письмо в ящик, Вы можете быть уверены, что рано или поздно почтальон доставит его адресату [видимо, автор ни разу не имел дела с Почтой России]. В этой аналогии RabbitMQ является одновременно и почтовым ящиком, и почтовым отделением, и почтальоном.
Наибольшее отличие RabbitMQ от почтового отделения в том, что он не имеет дела с бумажными конвертами ‒ RabbitMQ принимает, хранит и отдает бинарные данные ‒ сообщения.
В RabbitMQ, а также обмене сообщениями в целом, используется следующая терминология:
Поставщик, подписчик и брокер не обязаны находиться на одной физической машине, обычно они находятся на разных.
Hello World!
Первый пример не будет особо сложным ‒ давайте просто отправим сообщение, примем его и выведем на экран. Для этого нам потребуется две программы: одна будет отправлять сообщения, другая ‒ принимать и выводить их на экран.
Общая схема такова:
Поставщик отправляет сообщения в очередь с именем «hello», а подписчик получает сообщения из этой очереди.
Библиотека RabbitMQ
RabbitMQ использует протокол AMQP. Для использования RabbitMQ необходима библиотека, поддерживающая этот протокол. Такие библиотеки можно найти практически для каждого языка программирования. Python ‒ не исключение, для него есть несколько библиотек:
Отправка сообщений
Наша первая программа send.py будет просто отправлять одно сообщение в очередь.
Мы подключились к брокеру сообщений, находящемуся на локальном хосте. Для подключения к брокеру, находящемуся на другой машине, достаточно заменить «localhost» на IP адрес этой машины.
Перед отправкой сообщения мы должны убедиться, что очередь, получающая сообщение, существует. Если отправить сообщение в несуществующую очередь, RabbitMQ его проигнорирует. Давайте создадим очередь, в которую будет отправлено сообщение, назовем ее «hello»:
Теперь все готово для отправки сообщения. Наше первое сообщение будет содержать строку и будет отправлено в очередь с именем «hello».
Вообще, в RabbitMQ сообщения не отправляются непосредственно в очередь, они должны пройти через exchange (точка обмена). Но сейчас мы не будем заострять на этом внимание, точки обмена будут рассмотрены в третьем уроке. Сейчас достаточно знать, что точку обмена по-умолчанию можно определить, указав пустую строку. Это специальная точка обмена ‒ она позволяет определять, в какую именно очередь отправлено сообщение. Имя очереди должно быть определено в параметре routing_key:
Перед выходом из программы необходимо убедиться, что буфер был очищен и сообщение дошло до RabbitMQ. В этом можно быть уверенным, если использовать безопасное закрытие соединения с брокером.
Получение сообщений
Наша вторая программа receive.py будет получать сообщения из очереди и выводить их на экран.
Также как и в первой программе сначала необходимо подключиться к RabbitMQ. Для этого следует использовать тот же код, как и ранее. Следующий шаг, как и прежде ‒ убедиться, что очередь существует. Команда queue_declare не будет создавать новую очередь, если она уже существует, поэтому сколько бы раз не была вызвана эта команда, все-равно будет создана только одна очередь.
Вы можете задаться вопросом, почему мы объявляем очередь снова, ведь она уже была объявлена в первой программе. Это нужно, чтобы быть уверенным в существовании очереди, так будет, если сначала будет запущена программа send.py. Но мы не знаем, какая программа будет запущена раньше. В таких случаях лучше объявить очередь в обеих программах.
Мониторинг очередей
Если Вы хотите посмотреть, какие очереди существуют в RabbitMQ на данный момент, Вы можете сделать это с помощью команды rabbitmqctl (потребуются права суперпользователя):
(для Windows ‒ без sudo)
[в нашей компании используют более удобный скрипт мониторинга:]
[скрипт выводит и обновляет каждые 2 секунды таблицу со списком очередей: имя очереди; количество сообщений в обработке; количество сообщений готовых к обработке; общее количество сообщений; устойчивость очереди к перезагрузке сервиса; является ли временной очередью; количество подписчиков]
Получение сообщений из очереди более сложный процесс, чем отправка. Получение осуществляется при помощи подписки с использованием callback функции. При получении каждого сообщения библиотека Pika вызывает эту callback функцию. В нашем примере она будет выводить на экран текст сообщения.
Далее, нам нужно обозначить, что callback функция будет получать сообщения из очереди с именем «hello»:
Здесь необходимо быть уверенным в том, что очередь, на которую мы хотим подписаться, была объявлена. Мы сделали это ранее с помощью команды queue_declare.
Параметр no_ack будет рассмотрен позже [во втором уроке].
И, наконец, запуск бесконечного процесса, который ожидает сообщения из очереди и вызывает callback функцию, когда это необходимо.
Ну а теперь все вместе
Полный код receive.py:
Теперь мы можем попробовать запустить наши программы в терминале. Сначала отправим сообщение при помощи программы send.py:
Выполнение этой программы будет завершаться после отправки каждого сообщения. Теперь сообщение нужно получить:
Отлично! Мы отправили наше первое сообщение через RabbitMQ. Как Вы могли заметить, выполнение программы receive.py не завершилось. Она будет ожидать следующих сообщений, а остановить ее можно, нажав Ctrl+C.
Попробуйте запустить send.py снова в новом окне терминала.
Мы изучили, как отправлять и получать сообщения через именованные очереди. В следующем уроке мы создадим простую очередь задач [ресурсоемких].
UPD: библиотеку, работающую с RabbitMQ, для своего любимого ЯП Вы можете найти на официальном сайте тут.