任务b
jobdb 是用于持久任务的运行时间服务器。 安装 jobdb 命令
使用可用的存储器之一为 JobDB 运行时间 REST API 服务于 HTTP
后门.
使用服务器, 当您想要一个单独的运行时间进程, 工人和其他 客户端可以通过远程运行时间协议进行交谈.
命名单元格和硬断开
工作需要一个单元格名 。 一个牢房有一个稳定的ID, 一个独特的房客 - 本地 名称,一个 Git 仓库,描述,以及任意的 JSON 元数据。 全体 名称可以更改;旧名称仍为别名. 重播和元数据更新使用 PATCH 和一个ETAG。 手机已退役,从未被删除.
更早的命名- 细胞过渡有单独的存储和客户端升级 用于细胞前部署的边界。 租赁事件保存格式-11存储并 无需协调客户端升级. 明确创建针对 约伯DB API URL 在提交任务前:
jobdb cell create --name root --tenant acme --repo github.com/acme/root --url http://localhost:9047
jobdb cell create --name payments --tenant acme --repo github.com/acme/payments --url http://localhost:9047
提交从不创建单元格. cellRepo 可选择主张存在
单元格寄存器;后期提交可单独使用其名称. root 是一个
普通名称,没有特殊特权或重命名限制。 保留工作证
全租户 见 单元格规格 用于 HTTP
合同、授权钩和一体化指南.
安装
用 npm 安装 CLI :
npm install -g @colony2/jobdb
校验命令可用 :
jobdb --help
容器图像
Postgres容器从
pgjobdb 仓库 作为
ghcr.io/colony-2/pgjobdb:<release-tag>。 。 。 .
快速启动
运行默认的 SQLite 备份服务器 :
jobdb --listen 127.0.0.1:9047 --db jobdb.db
这开始运行时间 API : http://127.0.0.1:9047。 SQLite 是默认值
后端和持续运行时状态 jobdb.db;大型文物储存在
默认为本地的 blob 桶 URL blobfs:// 目录在 <db>.blobs。 。 。 .
明确的 SQLite 子命令等同 :
jobdb sqlite --listen 127.0.0.1:9047 --db jobdb.db
停止服务器 Ctrl-C 或者说 SIGTERM; 命令关闭 HTTP 服务器
在关闭后端资源前下调.
后端选项
SQL 点
SQLite是默认的嵌入式持久后端.
jobdb sqlite \
--listen 127.0.0.1:9047 \
--db ./jobdb.db \
--blob-store-uri 'file:///var/lib/jobdb/blobs'
旗帜 :
--db: SQLite 数据库路径. 默认为jobdb.db。 。 。 .--blob-store-uri: blob bitch URL 用于大型文物. 这个jobdb可执行文件包括 Go CDK 提供者, 因此支持file://, (中文(简体) ),gs://, (中文(简体) ),s3://,以及azblob://; 默认为本地blobfs://时间<db>.blobs。 。 。 .--blob-dir: 当地大型文物的遗产目录快捷方式. 已忽略 何时--blob-store-uri已经设定.--sqlite-dsn: SQLite DSN (英语). 覆盖--db财务报告和审定财务报表JOBDB_SQLITE_DSN。 。 。 .--listen: HTTP 听从地址. 默认为127.0.0.1:9047。 。 。 .
环境:
JOBDB_SQLITE_DSN: SQLite DSN 使用时--sqlite-dsn未设置.
玩具
玩具后端为内膜. 这对当地的实验和测试是有用的,而不是 被长期处决.
jobdb toy --listen 127.0.0.1:9047
邮资
基础 jobdb CLI提供SQLite和玩具后端. Postgres的运行时间,
direct 财务报告和审定财务报表 serve 命令和容器图像由
pgjobdb。它组成了JobDB的公众
带有已输入 Postgres 调度器的运行时间核心 .
图书馆嵌入器 runtime/sqlite 只会得到 blobfs://
默认支持。 导入
github.com/colony-2/jobdb/pkg/jobdb/blobstore/gocdk 从可执行文件/服务器中
可启用 Go CDK 提供者 URI 注册的代码.
库用户可以导入 github.com/colony-2/pgjobdb/pkg/pgjobdb/runtime
用于Postgres或导入另一个运行时间执行。 公众
github.com/colony-2/jobdb/pkg/jobdb 财务报告和审定财务报表 runtime/core 软件包没有
导入 pgjobdb.
参考文献:
- 转到 CDK blob 存储指南
- 访问 CDK URL 打开器概念
- Go CDK GCS 驱动证书
- Go v2 配置的 AWS SDK
- Google 应用程序默认证书
- 去 CDK Azure Blob 驱动证书
- Azure 身份认证链
运行时间 API
服务器曝光了 JobDB 运行时间 REST API. 电线合同有记载 内 openapi/jobdb-runtime.yaml 存档副本。 。 。 .
客户端通常使用远程运行时间适配器 :
runtime, err := remoteruntime.New("http://127.0.0.1:9047", nil)
见 pkg/jobdb/README.md go 运行时 API 的数据 类型和运行时软件包引用.
为了找回被工人多次撞倒所阻碍的工作 跑
jobdb jobs clear-crash-concern -t TENANT JOB_ID --reason 'worker issue fixed'。 。 。 .
见 清除崩溃关注 对于CLI选项,
REST和去的例子, 和恢复行为.
租户配置
每个后端都提供租户配置商店和公共行政API.
默认设置字符串, 或使用 --json (单位:千美元)-j对于JSON值,通过运行中的服务器:
jobdb config set codex_api_base_url -t tenant-a -f ./codex.url
printf '%s' '{"region":"eu-west-1","parallelism":4}' | jobdb config set build.defaults -t tenant-a -f - -j
jobdb config add build.defaults -t tenant-a -f ./defaults.json --json
jobdb config remove build.defaults -t tenant-a
字符串输入保留了白空间,包括后行的新行. 现有命令
jSON现在必须包括 --json (单位:千美元)-j) (中文(简体) ).
--url (单位:千美元)-u)选择服务器(默认) http://127.0.0.1:9047) (中文(简体) ). 设定
JOBDB_BEARER_TOKEN 如果部署认证需要的话. --if-match
接受引用的 ETag 条件写作 。 配置为普通 JSON
应用程序数据; 使用机密 API 获取证书.
去工人打电话 ctx.GetConfiguration(context.Background()) 在工作或任务中
环境。 第一个成功的读取是缓存到现场尝试并共享
以它的任务。 整活复试和复试开始新鲜. 秘密也一样
范围, 缓存每个请求的名称 。 见
缓存寿命周期和迁移指南 编辑
配置合同,包括:
重放规则和同伴Postgres运行时间升级.
执行实例,见 前进配置指南。 。 。 . 邮资维护者应跟踪 pgjobdb 更新指南。 。 。 .
工人流动
工作流程工人有意与服务器分开记录。 狦
写作工人, 任务工人, 或操作工人循环,使用的过程
页:1 pkg/workflow 软件包.
见 pkg/工作流量/README.md将索赔的租约交给 另一家工人再也没有得到它,看 租赁执行。 。 。 .
发展
CLI来源住在 cmd/jobdb。要直接从退票中运行它:
go run ./cmd/jobdb --listen 127.0.0.1:9047 --db jobdb.db
运行完整的测试套件 :
go test ./...
有用的参考文献 :
- pkg/jobdb/README.md:运行时间 API,数据类型,以及后端包.
- pkg/工作流量/README.md:工作流程SDK,工人,和引擎.
- 文献/模拟-SWF-GO-T-JOBDB.md: 简洁的从
swf-go。 。 。 . - 文件/API-SURFACE.md: 支持公共软件包.
- 文件/SPEC-OpenAPI-Runtime-Contract.md:运行时间REST合同说明.
见 SQLite 开发机密 租户秘密 储存、CLI管理和租赁范围的秘密解析.
可选警犬租赁活动
SQLite和玩具运行时间自动记录与现有建筑商的租赁事件
和CLI的引用。 遗留部分的执行保留了同样的基接;
使用情况 jobdb.ListLeaseEvents(ctx, runtime, req) 查询可选支持和处理
ErrLeaseEventsUnsupported. SQLite 保持基本格式11并安装添加剂
在启动时进行扩展交易,保存现有数据。 已知格式-12
数据库被验证并自动正常化。 升级前活动
历史作家留下了部分历史;没有回填是捏造的.
见 租赁事件兼容性和升级。 。 。 .