Running Django poprzez gunicorn do RDS (AWS mysql), widzę ten błąd w moich dziennikach gunicorn:Mysql + django wyjątek: "Polecenia zsynchronizowany; nie można uruchomić to polecenie teraz"
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
Nie mogę jeszcze odtworzyć go w niezawodny sposób, ani nie mogę znaleźć kodu źródłowego, który go powoduje.
używam surowych kursorów w niektórych miejscach, w następstwie tego wzoru:
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])
W niektórych miejscach natychmiast ponownie wykorzystać kursor do innego zapytania execute() /() fetchAll wzór. Czasami nie.
Używam również surowych zapytań menedżera w niektórych miejscach.
Nie zamykam bezpośrednio kursorów, ale nie wierzę, że powinienem.
Poza tym: Nie używam żadnych procedur przechowywanych, parametrów init_command
ani innych informacji wskazanych w innych odpowiedziach, które widziałem tutaj.
Wszelkie pomysły i sugestie dotyczące debugowania będą mile widziane.
Czy ten wyjątek powodując Ci żadnych rzeczywistych problemów innych niż pojawiać się w dzienniku? – Air
Możliwy duplikat [Python, "polecenia niezsynchronizowane, nie możesz teraz uruchomić tego polecenia"] (http://stackoverflow.com/questions/11583083/python-commands-out-of-sync-you-cant- run-this-command-now) – e4c5