簡體   English   中英

如何在python 3 Google App Engine標准環境中進行后台工作?

[英]How can I do background work in python 3 Google App Engine standard environment?

我的appengine應用程序( /start )上有一個端點,用於啟動進程。 在python 2環境中,我使用deferred在請求上下文之外運行進程。 在appengine flex上,您可以運行請求環境之外的后台線程 乍一看,我認為python 3標准環境也是如此 ,但仔細看,它包含以下注釋:

但是請注意,在處理入站請求后,新線程或進程可能不會運行。

這是否意味着一旦請求得到處理,我啟動的后台線程就會被殺死? 如果是這樣,啟動后台工作的最佳方法是什么?

我可以通過在雲任務中創建隊列並腌制所有內容來重新創建deferred庫,但這是不得已的方法。

在App Engine標准環境指南的“ 了解Python 2和Python 3之間差異”的“ 任務隊列”部分中:

您可以使用Cloud Tasks(測試版)訪問Task Queue服務。

在合適的提取隊列的情況下,例如排隊任務或將由單獨的工作人員提取和處理的消息, Cloud Pub / Sub是一個不錯的選擇。 Cloud Pub / Sub提供類似的功能和交付保證。

是的,雲任務是推薦的解決方案。

但是您實際上並不需要重新創建deferred庫-該庫建立在推送任務隊列的頂部。 deferred庫相對於推送任務的唯一優勢是,您不必為任務預先注冊處理程序(只需傳遞要執行的函數及其args)。 但這對於雲任務而言並非如此-它們確實需要GAE處理程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM