Google App Engine Python Flexible Environmentに負荷の高い柔軟なサービスを実行しています。私はPSQ workers to handle tasks through Pub/Subを実行します。Google Cloud Pythonフレキシブル環境マルチスレッドデータベースワーカーフリーズ
私はシングルスレッドワーカーで作業する限り、これはすべて上質で素敵です。私はそうのようなデータストアクライアントをインスタンス化した場合にシングルスレッドの労働者には、:
from google.cloud import datastore
_client = datastore.Client(project='project-name-kept-private')
...と実体取得:
entity = _client.get(_client.key('EntityKind', 1234))
を...それが正常に動作します。私は、マルチスレッドのワーカーにこれと同じことを行う一度
しかし、それは最後の行にフリーズ:
entity = _client.get(_client.key('EntityKind', 1234))
私はそれが原因で私のユーザーlogging.error
前に、その後、このライン上に正確に失敗した知っていますそのような特定の行:
import logging
logging.error('entity test1')
entity = _client.get(_client.key('EntityKind', 1234))
logging.error('entity test2')
entity test1
とentity test2
の両方がシングルスレッドのワーカーにログに表示される行が、唯一entity test1
は、マルチスレッドのワーカーに印刷されます。タスクを終了することは決してありません - それはちょうどその行に立ち往生します。
右の方向のアドバイスやポインターは大きな助けになります。私はかなりの時間この問題に苦しんできました。