![](/img/trans.png)
[英]How can I retry the statements that were not executed after a batch execution fails?
[英]How can I automatically retry a task executed on a GAE backend?
目前,我正在使用cron在Java后端上運行任務。
<cron>
<url>/admin/stats?action=dailyStats</url>
<description>Send daily statistics</description>
<schedule>every day 16:50</schedule>
<target>backends1</target>
<timezone>Europe/Madrid</timezone>
</cron>
后端配置了2個動態實例:
<backends>
<backend name="backends1">
<class>B2</class>
<instances>2</instances>
<options>
<dynamic>true</dynamic>
</options>
</backend>
</backends>
通常它可以正常工作,但是有時執行任務的實例會死掉而沒有任何進一步的通知,因此我需要在此失敗后自動重試它。
您需要在任務代碼的開頭添加代碼,以計划任務的下一次啟動(備份任務),偏移量為幾秒鍾(或分鍾,具體取決於任務執行的時間),以執行失敗。 然后,在任務代碼末尾添加代碼以刪除此備份任務。
如果任務即將結束,請再次執行。 或者,如果任務成功完成,則備份任務將被刪除。
如果您需要在GAE上重試,則應使用任務隊列。 任務隊列可以觸發任務,並且僅在觸發的任務返回成功的HTTP響應(例如200)時才完成。否則,它將重試該任務。 此外,您可以配置幾個隊列處理參數。 它可用於觸發后端和前端中的處理。
有關更多詳細信息,請參見https://developers.google.com/appengine/docs/python/taskqueue/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.