透過工作佇列處理的發送工作可能會因各種因素而失敗。如果處理常式無法執行工作 (並因此傳回 200–299 範圍外的任何 HTTP 狀態碼),App Engine 會重試工作,直到成功為止。
根據預設,系統會漸漸降低重試頻率,避免對您的應用程式發出太多要求造成堵塞,但會排定重試 (頻率為每小時最多一次),直到工作成功為止。
重試工作
重試參數元素,以自訂工作重試的配置。新增這項元素可讓您指定在特定佇列中重試失敗工作的次數上限。您也可以設定重試的時間限制,以及控制每次重試的時間間隔。queue.yaml
以下範例示範幾種重試情況:
- 在 
fooqueue中,工作從第一次執行嘗試起,最多可以重試七次,為期最多兩天。如果兩項限制都已超過,這項工作就會永久失敗。 - 在 
barqueue中,App Engine 會重試工作,並以線性方式逐漸拉長每次的重試間隔時間,直到輪詢上限為止,然後會以最長時間間隔無限期一直重試 (所以要求間隔為 10 秒、20 秒、30 秒、...、190 秒、200 秒、200 秒、...)。 - 在 
bazqueue中,重試間隔從 10 秒開始,然後以雙倍增加三次、接著以線性方式增加,最後則按最長時間間隔無限期重試 (所以要求間隔為 10 秒、20 秒、40 秒、80 秒、160 秒、240 秒、300 秒、300 秒...)。 
  <?xml version="1.0" encoding="utf-8"?>
  <queue-entries>
    <queue>
      <name>fooqueue</name>
      <rate>1/s</rate>
      <retry-parameters>
        <task-retry-limit>7</task-retry-limit>
        <task-age-limit>2d</task-age-limit>
      </retry-parameters>
    </queue>
    <queue>
      <name>barqueue</name>
      <rate>1/s</rate>
      <retry-parameters>
        <min-backoff-seconds>10</min-backoff-seconds>
        <max-backoff-seconds>200</max-backoff-seconds>
        <max-doublings>0</max-doublings>
      </retry-parameters>
    </queue>
    <queue>
      <name>bazqueue</name>
      <rate>1/s</rate>
      <retry-parameters>
        <min-backoff-seconds>10</min-backoff-seconds>
        <max-backoff-seconds>300</max-backoff-seconds>
        <max-doublings>3</max-doublings>
      </retry-parameters>
    </queue>
  </queue-entries>
後續步驟
- 進一步瞭解工作佇列參數。