Django + MySQL: punkt zapisu nie istnieje?

Używam małej aplikacji internetowej na planie hostingu współdzielonego. Mam „funkcję roboczą”, która zawiera nieskończoną pętlę; pętla sprawdza kolejkę zadań w DB w poszukiwaniu nowych rzeczy do zrobienia. To wymagało użycia@transaction.commit_manually aby pokonać buforowanie Django i uzyskać aktualne informacje o każdej iteracji.

Niedawno zaimplementowałem rejestrowanie bazy danych i dlatego musiałem wprowadzić punkty zapisu do mojej funkcji pracownika - w ten sposób, jeśli coś pójdzie nie tak, mogę cofnąć się do dobrego punktu zapisu, zalogować się do bazy danych i kontynuować, aż dotrę do finałutransaction.commit()

Teraz, w przeciwieństwie do mojego serwera programistycznego, serwer produkcyjny podaje mi błąd:

 DatabaseError: (1305, 'SAVEPOINT s140364713719520_x1 does not exist')

wskazując natransaction.savepoint_rollback() zadzwońexcept blok (patrz źródło poniżej). Serwer dev nie ma takich problemów; a serwer produkcyjny z przyjemnością generuje identyfikatory punktów zapisu, jeśli wpisujętransaction.savepoint() w interaktywnej powłoce.

To jest zarys mojego kodu, gdyby to pomogło; Starałem się, żeby to było zwięzłe.

Jeśli jest jakiś życzliwy guru Pythona, pomóż mi. Robię się z tego bardzo sfrustrowany, chociaż myślę, że wykonuję całkiem dobrą robotę w radzeniu sobie z tym w spokojny sposób.

questionAnswers(2)

yourAnswerToTheQuestion