共用额度下,优先顺序不应按团队大小或先到先得排,而应先判断查询结果是否会立刻改变一个已排期的动作。会改变动作的查询先跑,只用于观察和留档的查询后跑,并给后者设一个明确的延后上限。
阻塞型查询的特征是,结果没出来,下一步就无法开始。例如某团队要在当天决定是否把一批页面提交收录、是否替换某组标题、是否暂停一次投放,这类查询的结果直接决定动作做不做。观察型查询的特征是,结果只用于记录趋势或补充判断,晚一天、晚一周不影响任何已排期的工作。
把两类混在一个队列里,最常见的后果是观察型查询把额度占满,阻塞型查询反而要等。安排顺序时,先让每个团队把本周的查询按这个标准分类,再进入排期,而不是按提交时间排队。
此时应采用阻塞优先、按决策截止时间排序。具体动作是:每个团队只保留三到五条真正阻塞当前工作的查询,注明这条结果最晚什么时候需要;超出这个范围的查询全部转入观察队列。排序依据是决策截止时间,不是团队规模,也不是谁先提。
这样做代价明确:观察型查询会持续积压,某些趋势记录会出现断点。如果断点会影响后续判断,就要在观察队列里保留最低频率的固定查询,例如每周一次的核心页面状态检查,其余全部让位。
此时瓶颈不在额度,而在结果能否被正确解读。优先顺序应改为按同一批对象成组执行,即把需要互相参照的查询放在同一轮里跑完,而不是按团队分批。假设甲团队查一批页面的标题变化,乙团队查同一批页面的收录状态,如果两批相隔数天执行,中间的改动会让两组结果无法对应,前面的查询等于白跑。
成组执行的代价是单次占用额度更集中,其他团队在这段时间内可用的余量减少。因此需要提前约定执行窗口,窗口之外不插入零散查询。
第5条是关键动作。如果一条查询连续两周被标为阻塞,但结果出来后没有任何排期发生变化,说明它的优先级被高估了,把它降级能让出额度给真正卡住的工作。这个调整会直接影响下一周的排序结果,因此复盘必须固定进行。
有两类情况可以打破上述顺序。一是出现明确的异常信号,例如某批页面状态突然大面积变化,此时相关查询临时提为最高优先级,原队列整体后移。二是外部时间约束,例如某项工作有对外承诺的完成节点,倒推回来的查询必须优先,此时应在清单里注明约束来源,而不是笼统写“紧急”。
另外,共用额度的具体计量方式、并发上限、是否有团队隔离设置,不同工具的实现不一样,这些信息需要以实际使用的工具说明为准。如果计量口径是“按请求数”还是“按任务数”尚未确认,先做一次小范围核对再排顺序,否则排出来的优先级可能建立在错误的额度假设上。
顺序安排的本质是让额度跟着决策走,而不是跟着提交时间走。先确认哪些查询真的会改变下一步动作,再决定谁先跑,剩下的按批次和延后上限处理,共用额度下的冲突就会明显减少。