#zeromq #version #tokio #mutex #gitlab #com #advian-oss

bin+lib datastreamservicelib

Rust 版本的 https://gitlab.com/advian-oss/python-datastreamservicelib

2 个版本 (1 个稳定版本)

1.0.0 2022年5月4日
0.6.0 2020年8月20日

#21 in #zeromq


用于 ds1090

MITGPL-3.0 许可

33KB
708

rust-datastreamservicelib

Rust 版本的 https://gitlab.com/advian-oss/python-datastreamservicelib,使用 Tokio

注意:由于开始使用 parking_lot 线程锁进行同步,1.0 版本的 API 与 <1.0 版本不兼容。

Docker

请记得将您通过 devel_shell 安装的任何新系统软件包添加到 Dockerfile 中。检查您是否已记住所有内容的简单方法是重新构建测试镜像并运行它(见下文)。

SSH 代理转发

我们需要 buildkit

创建容器

构建镜像,创建容器并启动它

docker build --ssh default --target devel_shell -t rustdatastreamservicelib:devel_shell .
docker create --name rustdatastreamservicelib_devel -v `pwd`":/app" -it rustdatastreamservicelib:devel_shell
docker start -i rustdatastreamservicelib_devel

这将为您提供一个已安装系统级依赖的 shell,您应该在其中执行任何 shell 操作(如运行测试、预提交检查等)。

预提交考虑事项

如果您在 Docker 中而不是在本地环境中工作,您需要在 Docker 中运行预提交检查

docker exec -i rustdatastreamservicelib_devel /bin/bash -c "pre-commit install"
docker exec -i rustdatastreamservicelib_devel /bin/bash -c "pre-commit run --all-files"

您需要运行容器,请参阅上文。或者,您可以改用 docker run 语法,但使用正在运行的容器更快

docker run --rm -v `pwd`":/app" rustdatastreamservicelib:devel_shell -c "pre-commit run --all-files"

测试套件

您可以使用开发 shell 在开发时运行 py.test,对于 CI,请使用 Dockerfile 中的 "test" 目标

docker build --ssh default --target test -t rustdatastreamservicelib:test .
docker run --rm --security-opt seccomp=unconfined -v `pwd`":/app" rustdatastreamservicelib:test

依赖关系

~18MB
~299K SLoC