gae中重複佇列task queue的2種方式

2021-05-25 00:15:01 字數 671 閱讀 4775

一種是在task的執行方法中再add乙個一樣路徑的task(注意不能使用自定義佇列名字), 這樣會產生多乙個佇列.

但是方便好用,我一開始也是一直用這個.但是任務一多往往產生重複佇列.要知道gae的task是沒辦法操作的,而且gae開發人也拒絕在下乙個版本中加入更具體的操作佇列的功能.不能不說是乙個遺憾.

第二種方法也是後來我改用的,使用task佇列自帶的重試功能,自定義好queue.yaml檔案後,一樣很好用

裡例如我的配置:

- name: hourwork

rate: 500/h

retry_parameters:           #這裡以下就是重複引數

task_retry_limit:200          #最大重複次數

task_age_limit: 1d             #最大重複時間 這裡是1天的意思

min_backoff_seconds: 30     #最小重複等待時間 秒

max_backoff_seconds: 60    #最大重複等待時間 秒

max_doublings: 0             #最小到最大重複時間的倍數

它可以重複同時滿足條件:200次跟一天時間. 所以幾乎是沒限制了

然後在task的執行方法中return 乙個404 或者 500 之類的錯誤他就會重複執行了

GAE中Memcache快取學習筆記

memcache是高效能,分布式的儲存系統,主要作用是實現資料查詢結果的快速獲取。它是以 名 值 對的形式儲存在快取裡的。例子 set key,value,time 0,min compress len 0 不理會以前的內容設定key的值,time單位是秒 get key 獲取key對應的內容 de...

訊息佇列 怎麼處理訊息佇列中重複的資料

在分布式系統中,上游發來的訊息佇列必然會存在重複的資料,這是不可避免的。producer在傳送訊息時比如遇到網路問題時,傳送後因超時得不到伺服器的ack,從而進行重發。如果傳送的訊息內容是銀行扣款,那麼發生的問題可想而知。有人會問為啥中介軟體不能幫我們做排重?中介軟體排重會有以下問題 名稱質量標準 ...

訊息佇列 重複消費問題

所謂冪等性,就是資料無論操作多少次,所產生的影響跟執行一次是一樣的,比如對於讀操作來說,無論讀取多少次資料,都跟讀取一次的資料是一樣的,所以讀操作是乙個冪等性操作,而新增操作,新增多次會有多條記錄,因而寫操作則是非冪等性操作。因而對於以上場景,只要保證訊息消費的冪等性,就能解決重複消費的問題。常見的...