Commit Graph

3 Commits

Author SHA1 Message Date
ThearchyHelios 4548e8bd25 列表上「有几条在等」按任务各取各的上限(复核 L4):等着的事件按任务、还没派发的事件按(事件种类, 对象)用 ROW_NUMBER 各取前 N 条(同改前每个任务各读的那么多),不再所有任务合起来一个上限——积压多的任务会把别的挤掉,它们的 due_at 为空、未派发数少算。补测试 2026-10-19 11:45:55 +08:00
ThearchyHelios 20f8eb37e0 选对象按名字查改用 ilike(复核 L3):PostgreSQL 上 LIKE 分 ASCII 大小写、SQLite 不分,两种库说法不一;% 和 _ 照 runs._like 转义、按字面匹配。补测试 2026-10-19 11:44:49 +08:00
ThearchyHelios 358206312e 事件触发的规模:定时任务列表里每个事件触发任务「有几条在等」一次查齐(outbox.pending_for_many:待派发数一条 SQL 按任务分组算,窗口要看的事件一次读出),不再每行查一次;每一拍派发只读触发条件的事件种类、对象对得上的任务(SQLAlchemy 的通用 JSON 访问),保存时查环一层查一次、只顺着「上游工作流运行成功结束」的边找;选对象(trigger-options)按事件、关键字查、一页最多 100 个、more 说还有没有,当前选中的总在里面,编辑页一页没列完时多一个按名称查找。顺带修:等着的时候任务改了条件、最早那条不再合条件时,「什么时候合成触发」按剩下的最早一条算(列表上的时刻和真发起的一致);一个窗口的结束时刻和这个任务已有的另一次触发撞在同一刻(别的期次早一拍发了)时往后挪,那几条事件照常发起,不再被记到已有的触发上 2026-10-19 09:46:47 +08:00