创建一个模板程序:

$ cargo install loco-cli
$ loco new
< 按照命令进行 >

现在 cd 进入你的应用程序,设置一个方便的 rr 别名并尝试各种命令:

$ cd myapp
$ cargo loco --help

你可以通过 CLI 在以下环境中驱动你的开发:

$ cargo loco generate model posts
$ cargo loco generate controller posts
$ cargo loco db migrate
$ cargo loco start

以及运行测试或使用 Rust 就像你已经知道的:

$ cargo build
$ cargo test

启动你的程序

要运行你的应用程序,请运行:

$ cargo loco start

后台 Worker 进程

根据你的配置(位于 config/ 中)不同,Worker 操作也会不同:

workers:
  # 需要 Redis
  mode: BackgroundQueue

  # 还可以使用:
  # ForegroundBlocking - 很适合进行测试
  # BackgroundAsync - 适用于使用 tokio 异步的同一进程作业

现在,你可以通过各种方式运行实际进程:

  • rr start --worker - 只运行一个 Worker 进程并处理后台作业。这对于扩展很有用。使用 rr start 运行一个服务应用程序,然后使用 rr start --worker 在任何你想要的计算机上运行许多基于进程的 Worker 进程。
  • rr start --server-and-worker - 将在同一个 Unix 进程中运行一个服务和一个后台 Worker 进程处理器。它使用 Tokio 来执行后台作业。对于那些你想要在一个单一服务器上运行且无需太多费用或具有受限资源的情况,这很有用。

获取你的应用程序版本

因为你的应用程序是编译的,然后复制到生产中,Loco 为你提供了两个重要的可操作性信息:

  • 这是哪个版本的应用程序,它是由哪个 GIT SHA 构建的? cargo loco version
  • 这个应用程序针对哪个 Loco 版本编译的? cargo loco --version

这两个版本字符串都是可解析且稳定的,因此你可以在集成脚本、监控工具等中使用它。

你可以在你的 src/app.rs 文件中通过重写 app_version hook 来塑造你自己的自定义应用程序版本方案。