13个版本 (4个重大更新)
0.5.6 | 2024年7月19日 |
---|---|
0.5.5 |
|
0.4.7 | 2024年7月19日 |
0.3.0 | 2024年7月18日 |
0.1.1 | 2024年6月29日 |
#160 in 配置
每月879次下载
52KB
1K SLoC
sproc
Sproc是一个简化的进程管理器,使用可组合的配置文件来管理多个服务。
配置
在Sproc中使用简单的services.toml
文件定义服务(通过pin
命令传递给Sproc)。
[services.example]
command = "example --a b" # required
working_directory = "/home/example" # required
[services.example.environment] # optional
EXAMPLE_ENV_VAR = "42"
您可以使用inherit
字段继承其他文件中定义的服务。继承的服务文件不能公开一个inherit
字段。
inherit = ["/path/to/other/services.toml", "/path/to/other/other/services.toml"]
[services.example]
# ...
因为这些文件在主文件被固定时不会被加载,所以它们可以更新并且将在服务活动时生效。当更新主服务文件时,您必须停止所有活动服务并重新固定。
您可以在server
字段中配置服务器密钥和端口
[server]
port = 6374
key = "abcd"
# ...
服务器需要启动使用restart
字段的进程。您可以通过将restart
设置为true
使服务自动重启(从服务器生成时)
[services.example]
command = "node index.js"
working_directory = "/home/example"
restart = true # this service will ONLY restart when started from the server
不推荐您手动更新固定的services.toml
文件($HOME/.config/sproc/services.toml
)。此文件由CLI和服务器定期更新,并且应仅通过sproc pin
进行手动更改。
用法
加载配置文件
sproc pin {path}
启动服务
sproc run [names]
在新任务中启动服务(需要HTTP服务器)
sproc spawn [names]
启动所有服务
sproc run-all
停止服务
sproc kill [names]
停止所有服务
sproc kill-all
获取运行服务信息
sproc info {name}
获取所有运行服务的详细信息
sproc info-all
启动观察服务器
sproc serve
查看固定的配置
sproc pinned
将外部服务合并到源配置文件中(源文件来自pin
)
sproc merge {path}
将外部服务拉取到存储的配置文件中(在pin
之后)
sproc pull {path}
从远程注册表中安装服务
sproc install {url} {service}
从固定的配置文件中卸载服务
sproc uninstall {service}
依赖关系
~10–40MB
~641K SLoC