#applications #config-file #cli-parser #framework #system #service #signal

system-service

框架用于处理日志、信号等,以便您能专注于业务逻辑

4个版本

使用旧的Rust 2015

0.2.2 2018年4月20日
0.2.1 2018年4月20日
0.2.0 2018年4月20日
0.1.0 2018年4月10日

#67 in #cli-parser

Apache-2.0

13KB
171

system-service

编写系统服务的框架

关于

每个以服务形式运行的应用程序都应该实现日志记录、信号处理、优雅关闭、CLI选项解析和配置文件解析等功能。此包提供了一种半有偏见的框架来实现这些功能。

文档

有关使用说明,请参阅crate文档。


lib.rs:

编写系统服务的框架

关于

每个以服务形式运行的应用程序都应该实现日志记录、信号处理、优雅关闭、CLI选项解析和配置文件解析等功能。此包提供了一种半有偏见的框架来实现这些功能。

使用方法

这里导出了一些特质,包括 ApplicationConfigOptionsLogOptions。两个选项特质应实现您的CLI选项加载,Config 用于您的配置文件加载,以及 Application 用于您的应用程序逻辑。

主要的运行方法是 Application::run_once,它在循环中被反复调用。它提供了一个 Context 类型,该类型允许应用程序控制何时检查信号。任何接收到的信号都传递给 Application::received_signal 以进行处理。

一旦 Application::run_once 返回 Stopping::Yes,主循环终止并调用 Application::shutdown 然后退出。

依赖项

~3–11MB
~110K SLoC