微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

一方_self發表於2024-03-05

上文有說到我們開發了定時刪除阿里雲oss的功能,但是一次只能刪除10條。

本文我們做到一次刪除全部過期的檔案。

實現:使用while迴圈,在迴圈裡獲取是否還有已過期的,沒有就break掉,有就走刪除邏輯。

開始程式碼部分:

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

邏輯還是比較簡單的,一個while迴圈,每次查詢20條已過期的資料,如果沒有則結束while迴圈,存在則進入for迴圈刪除,分別記錄刪除成功、失敗的數量,但是有個問題,如果一直刪除失敗,那麼就會一直陷入死迴圈了。

超時了:

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

我們把這個雲函式的執行超時設定長一點:

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

現在的問題是,我設定了很長的超時時間,但是還是會很快就超時了:

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

客戶度呼叫也是超時:

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

網上也沒有太好的資料。

重新整理一下流程,我是在一個雲物件裡呼叫另一個雲物件的方法。

我在刪除的程式碼里加了一個try catch:

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

捕獲到的異常為:

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

說delete_file方法沒有在引用的雲物件裡,但是這個雲物件我是已經上傳部署了的。

重新部署一下aliyun-api這個雲物件,因為這個雲物件依賴了兩個包,所以會部署時間長點。

微信小程式開發:迴圈定時刪除阿里雲oss上傳的檔案

可以了,可以了,問題解決!

問題的根源可能是因為雲物件沒有部署完整導致的。

下一期文章我將繼續完善兩個通道之間的切換問題,以及頁面的控制可以透過配置更改,如:兩個通道的啟用、通道二的風格選項的啟用、每個通道的分享標題和圖片等等配置。

小程式名:《一方雲知》。歡迎大家使用,人像動漫化介面是免費使用的。

這篇文章就到這裡啦!如果你對文章內容有疑問或想要深入討論,歡迎在評論區留言,我會盡力回答。同時,如果你覺得這篇文章對你有幫助,不妨點個贊並分享給其他同學,讓更多人受益。

想要了解更多相關知識,可以檢視我以往的文章,其中有許多精彩內容。記得關注我,獲取及時更新,我們可以一起學習、討論技術,共同進步。

感謝你的閱讀與支援,期待在未來的文章中與你再次相遇!

相關文章