2012-12-28 10 views
6

はgunicorn経由ジャンゴを実行するRDS(AWS MySQLを)、私は私のgunicornログにこのエラーを見ていると:MySQLの+ジャンゴ例外:「コマンド同期が外れ、あなたは今、このコマンドを実行することはできません」

Exception _mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you can't run this command now") in <bound method Cursor.__del__ of <MySQLdb.cursors.Cursor object at 0x690ecd0>> ignored 

私はまだそれを確実に再現することはできませんし、それを引き起こす根底にあるコードを追跡することもできません。

私は、このパターン以下、いくつかの場所で生のカーソルを使用しています:いくつかの場所で

cursor = connections['read_only'].cursor() 
sql = "select username from auth_user;" 
cursor.execute(sql) 
rows = cursor.fetchall() 
usernames = [] 
for row in rows: 
    usernames.append(row[0]) 

私はすぐに別のクエリは、()/ fetchAllの()パターンを実行するためのカーソルを再利用します。時々私はしません。

また、一部の場所では生のマネージャークエリを使用します。

カーソルを明示的に閉じているわけではありませんが、私はそうするべきではないと思います。

その他:ストアドプロシージャを使用していません。init_commandパラメータはありません。ここに掲載されているその他の回答に記載されているものもありません。

デバッグ方法に関するご意見やご提案がありがとうございます。あなたのような何かをする必要があります

+0

はあなたのログに示す以外の任意の実際の問題を引き起こし、この例外ですか? – Air

+0

[Python、 "コマンドが同期していない可能性があります。このコマンドをすぐに実行することはできません"](http://stackoverflow.com/questions/11583083/python-commands-out-of-sync-you-cant- run-this-command-now) – e4c5

答えて

-3

https://code.djangoproject.com/ticket/17289

をチェックアウト:

while cursor.nextset() is not None: 
    if verbose:               
     print "rows modified %s" % cursor.rowcount 
+0

質問にはストアドプロシージャはまったく言及されていません(参照するチケットと同じです)。 –

関連する問題