在GAE應用程式中,我們希望分批處理Pub Sub訊息,例如:每10秒讀取一個訂閱上的所有待定訊息并分批處理它們(因為這將更有效率)。 一個同步的subscriber.pull()將很好地允許我們讀取一批待定訊息。 問題是我接下來要做什么? 睡眠10秒,然后再次讀取? 但這需要一個永久性的后臺任務,這在App Engine中有點難以設定。 每分鐘(或每小時)由cron呼叫一個端點,在一小時內運行一些[ 讀取和處理訊息,睡眠10秒] 的回圈,然后退出? 有什么更好的主意嗎?
uj5u.com熱心網友回復:
你可以使用Cloud Scheduler來每分鐘呼叫你的App Engine端點。這個端點讀取pubsub訂閱一段時間(比方說45秒),處理訊息,然后回傳一個200的HTTP代碼。
如果你想按10秒的時間視窗進行讀取,你需要在你那邊建立一個流程。繼續每分鐘呼叫端點(這是無服務器模式,該程序只在請求處理中執行),但端點要監聽訂閱10秒,處理訊息,睡眠10秒并重復5次,然后回傳200HTTP代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/317582.html
標籤:
