Skip to content

Make RabbitMQ a regular Erlang/OTP application #2180

Closed
@dumbbell

Description

@dumbbell

Today, to start RabbitMQ, we depend on several Bourne shell scripts (for Unix-based OSes) and Batch scripts (for Microsoft Windows). They have several downsides:

  • The code is duplicated between the two languages used for those scripts.
  • Maintenance is obviously increased.
  • Debugging what happens before the Erlang VM is launched is difficult.
  • The Batch version for Windows gets less testing and may not have the same features as the Bourne shell version.

From an Erlang/OTP point of view, RabbitMQ is not a regular Erlang/OTP application because it relies on several things happening before the actual rabbit application can be started. This complicates developers' life because RabbitMQ does not embrace Erlang/OTP system principles and a few things are reinvented internally.

We want to move most of the scripts to plain Erlang code and change RabbitMQ so it is built as a standard Erlang/OTP application.

The initial description of the problem was written down in a gist.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions