上文有說到我們開發了定時刪除阿里雲oss的功能,但是一次只能刪除10條。
本文我們做到一次刪除全部過期的檔案。
實現:使用while迴圈,在迴圈裡獲取是否還有已過期的,沒有就break掉,有就走刪除邏輯。
開始程式碼部分:
邏輯還是比較簡單的,一個while迴圈,每次查詢20條已過期的資料,如果沒有則結束while迴圈,存在則進入for迴圈刪除,分別記錄刪除成功、失敗的數量,但是有個問題,如果一直刪除失敗,那麼就會一直陷入死迴圈了。
超時了:
我們把這個雲函式的執行超時設定長一點:
現在的問題是,我設定了很長的超時時間,但是還是會很快就超時了:
客戶度呼叫也是超時:
網上也沒有太好的資料。
重新整理一下流程,我是在一個雲物件裡呼叫另一個雲物件的方法。
我在刪除的程式碼里加了一個try catch:
捕獲到的異常為:
說delete_file方法沒有在引用的雲物件裡,但是這個雲物件我是已經上傳部署了的。
重新部署一下aliyun-api這個雲物件,因為這個雲物件依賴了兩個包,所以會部署時間長點。
可以了,可以了,問題解決!
問題的根源可能是因為雲物件沒有部署完整導致的。
下一期文章我將繼續完善兩個通道之間的切換問題,以及頁面的控制可以透過配置更改,如:兩個通道的啟用、通道二的風格選項的啟用、每個通道的分享標題和圖片等等配置。
小程式名:《一方雲知》。歡迎大家使用,人像動漫化介面是免費使用的。
這篇文章就到這裡啦!如果你對文章內容有疑問或想要深入討論,歡迎在評論區留言,我會盡力回答。同時,如果你覺得這篇文章對你有幫助,不妨點個贊並分享給其他同學,讓更多人受益。
想要了解更多相關知識,可以檢視我以往的文章,其中有許多精彩內容。記得關注我,獲取及時更新,我們可以一起學習、討論技術,共同進步。
感謝你的閱讀與支援,期待在未來的文章中與你再次相遇!