feat: add generic queue and subscription retirement

This commit is contained in:
2026-09-27 14:39:49 +08:00
parent d54bdd9847
commit c9e877c3f7
53 changed files with 1013 additions and 88 deletions

View File

@@ -103,6 +103,9 @@ func (s *ExecutionStore) Connect(ctx context.Context, token auth.Token, in worke
// 不依赖数据库外键:创建会话前验证队列存在且属于当前命名空间。
// 进程头在队列之前加锁,与执行命令保持一致;失败时回滚新建的进程头。
var queue core.ID
if err := requireActiveQueue(ctx, tx, token.NamespaceID, in.QueueID); err != nil {
return err
}
if err := tx.QueryRowContext(ctx, `SELECT id FROM pulse_queues WHERE namespace_id=? AND id=? FOR SHARE`, token.NamespaceID, in.QueueID).Scan(&queue); err != nil {
if errors.Is(err, sql.ErrNoRows) {
return fault.NotFound