私はpythonを初めて使用し、pythons SocketServer.ForkingTCPServerを使用して、データベース(mysql)に接続する必要があるネットワークスクリプトを作成しています。プログラムは 1 秒間に約 30 ~ 40 回ヒットすると予想されます。プロセス間で同じデータベース接続を共有することは可能ですか?
OS のインポート
SocketServer のインポート
MySQLdb のインポート
クラス EchoHandler(SocketServer.StreamRequestHandler):
デフハンドル(自己):
self.wfile.write("SET VARIABLE DBDIALSTRING dbstuff \n")
self.wfile.flush()
self.conn.close()
__name__ == '__main__' の場合:
conn = MySQLdb.connect (ホスト = "10.0.0.12"、ユーザー = "dbuser"、passwd = "secert"、db = "dbname")
SocketServer.ForkingTCPServer.allow_reuse_address = 1
サーバー = SocketServer.ForkingTCPServer(('10.0.0.10', 4242), EchoHandler)
print "サーバーは localhost:4242 でリッスンしています..."
試す:
server.allow_reuse_address
server.serve_forever()
キーボード割り込みを除く:
print "\nベイリング中..."