#dataset #puzzle #grpc #requests #aoc #grpc-server

bin+lib aocdata

服务于 AOC 拼图数据集请求的数据库 gRPC 服务器接口

1 个不稳定版本

0.1.0 2023 年 5 月 9 日

#37#grpc-server

22 每月下载量
用于 aocrun

MIT 许可证

21KB
120

Aocdata

Aocdata 提供数据服务,即 Advent Of Code 拼图的数据集。该服务、请求格式和响应格式在遵循 Proto3 语言指南的 aocdata.proto 文件中指定。

设置

$ git clone https://gitlab.com/labcycle/aocdata.git
$ cd aocdata

以下命令通过容器镜像模拟数据库和服务器。将以下命令中的 podman 替换为 docker 以构建和运行镜像。注意:未使用 docker 测试过 buildrun 命令。

设置 PostgreSQL 数据库

此数据库存储拼图的数据集。如果数据库已设置,请跳转到 设置 Aocdata 服务器 部分。

注意:以下设置了一个包含示例数据集的数据库示例。对于更广泛的数据集,应设置一个新的包含数据集的数据库。

$ podman build -t aocdb -f ./db/Containerfile
$ podman run -dt --name aocdb_container -p 54320:5432 -e POSTGRES_PASSWORD="aocpg" aocdb 

设置 Aocdata 服务器

必须将 PostgreSQL 数据库 URL 作为环境变量 AOC_DB_URL 提供给容器。例如: AOC_DB_URL="postgres://postgres:aocpg@localhost:54320/aoc"

$ podman build -t aocdata -f ./Containerfile
$ podman run -dt --name aocdata_container -p 31370:3137 -e AOC_DB_URL=__PostgresDbUrl__ aocdata

如何工作

  • 服务器启动后,可以使用 gRPC 调用通过 unary RPC GetData 和客户端 DataRequest 提到年份和日期字段来请求数据。
  • 数据响应以可选字符串的形式发送。
  • 从 PostgreSQL 数据库中查询数据集字符串(因此,数据库必须始终在服务器接收请求时运行)。

依赖项

~23–36MB
~659K SLoC