新闻详情

新闻详情

首页 / 资讯中心 / 详情

honker 1.0之路:实验性Watcher后端、项目路线图与社区动态前瞻

发布时间:2026/9/30 6:44:05来源:尧图网络
honker 1.0之路:实验性Watcher后端、项目路线图与社区动态前瞻
honker 1.0之路实验性Watcher后端、项目路线图与社区动态前瞻【免费下载链接】honkerSQLite extension bindings for Postgres NOTIFY/LISTEN semantics with durable queues, streams, pub/sub, and scheduler项目地址: https://gitcode.com/gh_mirrors/ho/honkerhonker 是一个 SQLite 扩展 多语言绑定项目它把 Postgres 风格的 NOTIFY/LISTEN 语义、持久化任务队列、事件流和定时调度直接放进你的 SQLite 文件里无需客户端轮询、也无需额外的消息代理。目前项目处于 alpha 阶段正朝着 1.0 稳定版快速推进。这篇文章带你完整看懂它实验性 Watcher 后端的设计取舍、通往 1.0 的路线图以及社区反馈正在如何塑造这个项目的下一步。三种 Wake 后端polling、kernel 与 shm 快速对照honker 解决 SQLite 没有服务端推送通道这一痛点的方式是一个共享 Watcher它持续探测数据库是否有新提交一变就唤醒所有监听者与 worker。目前共有三种后端 后端原理状态适用场景polling默认每 1ms 读一次PRAGMA data_version稳定后端所有发行包默认绝大多数场景跨平台可靠kernel监听数据库/WAL/SHM 文件路径的操作系统文件事件实验性需源码编译 Cargo feature希望事件驱动、减少轮询开销shmmmap 读取 SQLite WAL 共享内存索引的iChange实验性需源码编译 Cargo feature追求更低探测成本的进阶用户三条关键契约值得新手记住显式选择、大声失败、绝不静默降级如果你请求了kernel或shm但该构建没有编译对应 featurehonker 会直接报错而不是悄悄换回 polling。这一契约写在 BINDINGS.md 中。实验性合同允许多余唤醒宁可在没有任务时多醒一次也不允许漏唤醒——因为一次廉价的索引 SELECT 远比重启 worker 便宜。看门狗机制兜底文件被替换、Watcher 崩溃时会触发 dead-mans switchPython 绑定还会把错误推给消费者让update_events()抛出清晰异常而非永久挂起。源码上三种后端都集中在 honker-core/src/shm_watcher.rs 与 honker-core/src/kernel_watcher.rs各语言绑定只是透传参数不各自实现探测逻辑——这是理解其架构的关键。跨进程端到端测试可在 tests/test_watcher_backends.py、tests/test_watcher_backends_e2e.py 中查看。项目路线图通往 1.0 的 8 个关键 Phasehonker 的 ROADMAP.md 采用 Phase 名称 而非数字编号方便随时插入新工作整体按先后顺序收敛到 1.0 发布。下面按依赖关系串起主线 ️Phase Echo所有绑定统一接入 Watcher 后端核心 Python Node 已通过 PR #30 落地通用SQLITE_BUSY修复、两个 opt-in 实验后端、同步基线握手、Watcher 死亡传播。Rust 包装器通过OpenOptions::watcher_backend打通Go、Bun、C、.NET、Ruby、Elixir 则通过共享的扩展 ABI 路由阻塞式等待。polling 后端已在持续写入下完成 600 秒浸泡测试4.5 万次提交全部被观测到完整性检查通过。Phase Atlas实验后端的边界行为画像对回滚、wal_checkpoint(TRUNCATE)、VACUUM、符号链接、NFS/SMB、SIGKILL 崩溃恢复等 12 类场景逐后端固化你实际会得到什么。注意它的定位是刻画而非修复——实验就是实验。Phase Boundary唤醒源隔离与独立性honker 有多种唤醒源DB 更新、deadline、兜底轮询、notify 推送信号。此阶段用隔离测试证明禁用任一源其余仍能独立承载负载提交与 deadline 恰好撞车时不会双重触发。Phase Lighthouse把实验后端装进正式发布轮子目前发布的 wheel 只编译 polling。翻牌前提是三平台 CI 全绿、Phase Atlas 画像测试全过、以及以天为单位的真实场景自用验证。若某个平台达标而另一个不达标——两个都不发。Phase Mays补齐 pg-boss 对标能力五个小而关键的生产级特性singleton_key去重入队、_honker:job:*作业状态事件通道、queue.size()/stats()队列观测、以及db.on_completed()之类的便捷事件处理器。目标是让队列在 worker 之外可观测、可控制。Phase Gehrig 与 Phase DiMaggio配置默认值 自适应退避前者为每条队列建立_honker_queues默认策略表重试次数、可见超时、死信队列后者让默认 polling 后端在空闲时几何级放慢轮询1ms → 2 → 4 … 上限 1s直接回应了社区空闲时别烧 CPU的高频诉求。此外还有Phase Berra 的文档清扫补充基准测试、何时不该用章节、Mantle 剩余项JVM/Kotlin 生命周期方法补齐、max_runs替代方案配方文档以及把命名锁委托给bouncer-core的架构演进 Phase Ranger。完整细节见 ROADMAP.md。社区动态前瞻HN 流量、多语言绑定与互操作矩阵社区层面有几个明确的信号预示 1.0 的方向 关注度持续走高项目第二次登上 HN 首页后收获近千 star并因事务性发件箱模式的实现被社区广泛讨论README.md 的 Roadmap/Changelog 文档化也因此被列入 Phase Berra 清单。11 个语言绑定全部 in-treePython、Node、Rust、Go、Ruby、Bun、Elixir、C、.NET、JVM、Kotlin 统一维护在 packages/ 下BINDINGS.md 提供逐绑定 API 一致性真值表。跨语言互操作是重点路线图明确下一组互操作证明对是 Go ↔ Python两语言共享同一个.db文件并计划一个绑定入队、另一个绑定认领确认的小型矩阵测试。基准数据将公开bench/ 目录已有 Apple Silicon 上的完整基线批量入队 11 万 ops/s、流回放 100 万 events/s、跨进程唤醒 p50 ≈ 0.7msREADME 基准表补齐已进入排期。已知问题透明化JVM 的 kernel 后端在 Linux 上失效已被单独记录为 Phase Kernel-JVM修复前 CI 会显式排除该测试并在文档中如实说明——这种诚实标注是社区信任的重要来源。快速上手3 分钟体验 honker 队列pip install honkerimport honker db honker.open(app.db) emails db.queue(emails) with db.transaction() as tx: tx.execute(INSERT INTO orders (user_id) VALUES (?), [42]) emails.enqueue({to: aliceexample.com}, txtx) # 与订单同事务提交INSERT与enqueue在同一事务里提交——回滚则两者一起丢弃。其他进程的 worker 会在事务提交后约 1ms 内被唤醒。更多示例见 packages/honker/examples/quickstart.py 与 packages/honker/examples/README.md。小结honker 的 1.0 之路可以概括为三句话Watch 机制上polling 默认稳定、kernel/shm 实验可选且大声失败路线图上从 Echo 的统一接入到 Mays/Gehrig 的生产化特性每一步都有明确的验收标准与不做什么清单社区上HN 反馈正在被逐条兑现为文档、基准与自适应轮询。如果你正用 SQLite 做主存储、又不想引入第二个中间件值得现在就关注它的进展 。【免费下载链接】honkerSQLite extension bindings for Postgres NOTIFY/LISTEN semantics with durable queues, streams, pub/sub, and scheduler项目地址: https://gitcode.com/gh_mirrors/ho/honker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

模型优化实战:量化、剪枝与ONNX导出全流程指南 2026/9/30 8:35:09

模型优化实战:量化、剪枝与ONNX导出全流程指南

模型训练完了,精度也达标了,结果一上线上环境就卡成PPT。显存动不动就爆,延迟奔着几百毫秒去,模型文件大到连版本库都不想收。这是做深度学习应用落地最常见的一道坎。今天要聊的Model-Optimizer,就是专门处理这个问题…

阅读更多 →
深度学习模型优化实践:从训练优化器到推理加速 2026/9/30 8:35:09

深度学习模型优化实践:从训练优化器到推理加速

各自跑过模型训练的朋友应该都体会过这种“薛定谔的收敛”:网络结构照着论文抄了,数据也洗干净了,可模型就是不听话,loss 抖得像心电图,或者干脆 loss 根本不动。折腾到最后发现,问题往往不在网络&#xff…

阅读更多 →
强化学习稀疏奖励难题?HER目标重标注机制原理与工程实践 2026/9/30 8:35:02

强化学习稀疏奖励难题?HER目标重标注机制原理与工程实践

搞强化学习的人十有八九都经历过这种时刻:精心设计了环境,让智能体从零开始学一个任务,结果跑了大半天,奖励曲线纹丝不动。不是代码写错了,而是奖励太稀疏——智能体在探索阶段连一次“成功”都没碰过,梯度…

阅读更多 →
磁控溅射产额与刻蚀形貌模拟:蒙特卡罗与有限元耦合的工艺窗口定量推演 2026/9/30 8:35:02

磁控溅射产额与刻蚀形貌模拟:蒙特卡罗与有限元耦合的工艺窗口定量推演

简介:本资源面向具备物理与材料科学基础的研究人员及工程师,聚焦磁控溅射工艺中溅射产额与靶材刻蚀的模拟计算问题。内容以蒙特卡罗方法模拟镍靶溅射过程为主线,建立靶材表面电磁场分布与刻蚀形貌的对应关系模型,并结合有限元模拟…

阅读更多 →
大模型幻觉的本质与工程化治理指南 2026/9/30 8:35:02

大模型幻觉的本质与工程化治理指南

1. 这不是“错误”,是大模型的呼吸方式:为什么幻觉必须被理解,而非简单屏蔽“AI胡说八道”——这是2023年最常被截图转发的聊天记录。用户问“爱因斯坦哪年去世”,模型答“1956年”;问“《三体》里叶文洁的父亲叫什么”…

阅读更多 →
风储深度调峰模型:MATLAB+Yalmip建模与求解实践 2026/9/30 8:34:56

风储深度调峰模型:MATLAB+Yalmip建模与求解实践

这两年做新能源并网相关项目,我最大的感受是:系统“看不见”的刚性约束远比想象中多。刚开始接触风储深度调峰模型时,我以为只是在MATLAB里把功率平衡公式写对、跑个优化就完事,结果真正搭起来才发现,火电深度调峰的分…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉