我有一个 Cron 将两个任务推送到要在后端执行的队列:
//任务1
queue.add(withUrl("/tasks/<mytask>").param(..).header("Host", backendService.getBackendAddress("<mybackendname>")));
//任务2
queue.add(withUrl("/tasks/<mytask>").param(..).header("Host", backendService.getBackendAddress("<mybackendname>")));
我希望这些任务(两个任务相同)一个接一个地执行。这是我的队列配置:
<queue>
<name><myqueuename></name>
<rate>1/m</rate>
<max-concurrent-requests>1</max-concurrent-requests>
<bucket-size>1</bucket-size>
<retry-parameters>
<task-retry-limit>1</task-retry-limit>
<min-backoff-seconds>10</min-backoff-seconds>
<max-backoff-seconds>200</max-backoff-seconds>
<max-doublings>2</max-doublings>
</retry-parameters>
</queue>
现在的问题是后端开始执行任务,但它似乎消耗了两倍的实例小时数。因此,在后端执行一小时后,后端仪表板显示 2 倍的小时数。我的队列显示“正在运行=1”和“队列中的任务=2”我已经验证后端的“实例”只有 1.0
从附图中可以看出,后端运行了约 4 小时,但表显示了约 8 小时的实例小时数。
我错过了什么?