![](/img/trans.png)
[英]How does Google Cloud Pub/Sub deal with multiple App Engine instances
[英]How to prevent Google Cloud Engine to run multiple concurrent instances?
嗨,我正在向 Google App Engine 部署一個非常簡單的 python 代碼,只是為了測試 Google App Engine 的工作原理,稍后我將用於我在本地測試過的真正更復雜的代碼。 問題是 Google App Engine 日志顯示我正在運行多個服務/線程/實例/模塊或任何名稱......同時
這是我的代碼: main.py
import time
def executeSomething():
#code here
print("Hello world!")
time.sleep(5)
while True:
executeSomething()
和app.yaml
runtime: python38
service: default
handlers:
- url: /
script: auto
manual_scaling:
instances: 1
我使用gcloud app deploy --stop-previous-version --version test-0-0-3
然后我使用gcloud app logs tail -s default
2022-08-09 15:59:18 default[test-0-0-3] Hello world!
2022-08-09 15:59:18 default[test-0-0-3] Hello world!
2022-08-09 15:59:18 default[test-0-0-3] Hello world!
2022-08-09 15:59:18 default[test-0-0-3] Hello world!
2022-08-09 15:59:23 default[test-0-0-3] Hello world!
2022-08-09 15:59:23 default[test-0-0-3] Hello world!
2022-08-09 15:59:23 default[test-0-0-3] Hello world!
2022-08-09 15:59:23 default[test-0-0-3] Hello world!
2022-08-09 15:59:28 default[test-0-0-3] Hello world!
2022-08-09 15:59:28 default[test-0-0-3] Hello world!
2022-08-09 15:59:28 default[test-0-0-3] Hello world!
2022-08-09 15:59:28 default[test-0-0-3] Hello world!
2022-08-09 15:59:33 default[test-0-0-3] Hello world!
2022-08-09 15:59:33 default[test-0-0-3] Hello world!
2022-08-09 15:59:33 default[test-0-0-3] Hello world!
2022-08-09 15:59:33 default[test-0-0-3] Hello world!
如您所見,有 4 個並發服務正在運行。 Idk 它叫什么:服務/線程/實例,但問題是它同時運行多個代碼。
在我的真實代碼中,我只想運行 1 個服務,因為我擔心如果我同時運行多個服務,它會在我插入數據庫的數據中創建重復項。
從評論中,OP 希望使用 CRON 作業運行日常任務。 在這種情況下,實例的數量無關緊要,CRON 作業只會運行一次。
您會在部署時看到多個實例,但使用 Google App Engine 標准,您應該始終運行 0 或 1 個付費實例,並且您應該可以輕松地說出在免費配額內。
GAE 是這個任務的一個很好的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.