Emque 开源项目教程
emqueAn in-memory message broker项目地址:https://gitcode.com/gh_mirrors/em/emque
1. 项目的目录结构及介绍
Emque 项目的目录结构如下:
emque/
├── app/
│ ├── controllers/
│ ├── models/
│ ├── views/
│ └── routes.rb
├── config/
│ ├── application.rb
│ ├── database.yml
│ └── environment.rb
├── db/
│ ├── migrate/
│ └── seeds.rb
├── lib/
│ └── tasks/
├── public/
│ ├── images/
│ ├── javascripts/
│ └── stylesheets/
├── spec/
│ ├── controllers/
│ ├── models/
│ └── views/
├── Gemfile
├── Gemfile.lock
└── README.md
目录介绍:
- app/: 包含应用程序的主要代码,包括控制器、模型和视图。
- config/: 包含应用程序的配置文件,如数据库配置和环境设置。
- db/: 包含数据库迁移文件和种子数据。
- lib/: 包含自定义库和任务。
- public/: 包含静态文件,如图片、JavaScript 和样式表。
- spec/: 包含测试代码。
- Gemfile: 定义项目所需的 Ruby gems。
- Gemfile.lock: 锁定 gem 版本。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
Emque 项目的启动文件主要位于 config/
目录下:
- config/application.rb: 包含应用程序的基本配置。
- config/environment.rb: 加载应用程序的环境配置。
启动流程:
- 加载
config/environment.rb
文件。 - 加载
config/application.rb
文件,进行应用程序的初始化。 - 启动应用程序服务器。
3. 项目的配置文件介绍
Emque 项目的配置文件主要位于 config/
目录下:
- config/database.yml: 配置数据库连接信息。
- config/application.rb: 配置应用程序的基本设置,如时区、中间件等。
- config/environment.rb: 加载应用程序的环境配置,如开发、测试、生产环境。
配置文件示例:
config/database.yml
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: emque_development
test:
<<: *default
database: emque_test
production:
<<: *default
database: emque_production
username: emque
password: <%= ENV['EMQUE_DATABASE_PASSWORD'] %>
config/application.rb
require_relative "boot"
require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
require "active_record/railtie"
require "active_storage/engine"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_mailbox/engine"
require "action_text/engine"
require "action_view/railtie"
require "action_cable/engine"
require "rails/test_unit/railtie"
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
module Emque
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.1
# Configuration for the application, engines, and railties goes here.
#
# These settings can be overridden in specific environments using the files
# in config/environments, which are processed later.
#
# config.time_zone = "Central Time (US & Canada)"
# config.eager_load_paths << Rails.root.join("extras")
end
end
config/environment.rb
# Load the Rails application.
require_relative "application"
# Initialize the Rails application.
Rails.application.initialize!
emqueAn in-memory message broker项目地址:https://gitcode.com/gh_mirrors/em/emque