feat: release Dever 0.1.5 with direct workers and long transactions

This commit is contained in:
Codex committed 2026-10-11 11:17:33 +00:00
1 parent 89629c2197
commit a900d7e8db
153 files changed
+3676 -3708

No files matched your search

+2 -2
View File
@@ -20,9 +20,9 @@ GET/DELETE 从 URL query 读标量参数,POST/PUT 从 JSON body 读参数。
`dever.api.Error` 中 Invalid/Unauthorized/Forbidden/NotFound/Conflict/TooManyRequests 对应 400/401/403/404/409/429;未知内部失败记录脱敏日志并返回安全的 500。
写 HTTP、CMD 和 Job 默认由入口建立事务;GET 不能写库或入队。
普通写 HTTP、CMD 和 Job 默认由入口建立整体事务。需要事务外编排时,在入口写 `long post generate = app.generate`、`long cmd generate = app.generate` 或 `long job ...`,其业务写库和 Job 入队必须进入显式 `transaction`。`public long` 的匿名权限与事务模式独立;自动 REST 保持原事务行为,GET 不能写库或入队。
密码 hash/verify 除外:计算期间不能长期占用数据库事务。实际写入要放在显式的短 `transaction` 内,并重新检查相关状态。不要因为“默认有事务”删掉这里的短事务。
HTTP、文件传输、外部 Worker 和密码计算放在事务外;事务内重新检查写入依赖的状态。需要业务记录与入队原子提交时,将两者放在同一个 `transaction`。`long` 中前一阶段已经提交的写入不会因为后续处理或响应编码失败而撤销,重试须保证业务幂等;普通入口仍整体回滚。`long` 不延长超时、不自动转后台;编译器遇到边界违规报错,不自动切换模式。
## 站点、身份与权限