1

uwsgiでpycassaを使用しています。約 16 個の uwsgi プロセスがあります。

あるプロセスが、別のプロセスによって照会されたデータを取得できるのは奇妙です。たとえば、列ファミリー A に 1 つの行があり、次のようになります。

{row_key, {'column_a': 1, 'column_b': 2}}

プロセス 1 実行: get(row_key, columns=['column_a', ])

プロセス 2 実行: get(row_key, columns=['column_b', ])

ただし、プロセス 1 が column_b の値を取得し、プロセス 2 が column_a の値を取得する場合があります。

これは接続プールの既知の問題ですか?

任意の応答をいただければ幸いです。

4

1 に答える 1

2

uwsgi.post_fork_hook api 関数を使用して、すべてのワーカーの接続を開きます

import uwsgi

def myconnect(...):

global_connection = ...

uwsgi.post_fork_hook = myconnect
于 2011-03-30T12:36:51.720 に答える