13个版本 (4个重大更新)

0.5.6 2024年7月19日
0.5.5 2024年7月19日
0.4.7 2024年7月19日
0.3.0 2024年7月18日
0.1.1 2024年6月29日

#160 in 配置

Download history 401/week @ 2024-06-26 38/week @ 2024-07-03 814/week @ 2024-07-17 46/week @ 2024-07-24 19/week @ 2024-07-31

每月879次下载

MIT许可

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