2017-03-11 2 views
0

Wir haben Maradb 10.1 und Beanstalkd 1.10 und Laravel 4.2 Wir haben eine Abfrage, die erfolgreich ohne Warteschlange ausgeführt werden. aber wenn es in beanstalkd laufen nicht afected und wir bekommen Fehler in Protokolldatei ‚MySQL-Server weg ist‘MySql Server ist weggegangen, wenn in Warteschlange

config:

wait_timeout   = 120 
max_allowed_packet  = 1024M 

Warum unterschiedliches Verhalten zwischen mit und ohne Warteschlange

+0

Dies könnte an Benutzerberechtigungen liegen. – Hammerbot

+0

Warum denken Sie, dass dies eine Berechtigung ist? Es läuft mit demselben mysql Benutzer –

+0

Wird es auf demselben Server ausgeführt? – Hammerbot

Antwort

0

Wir hatten ähnliche Probleme und entweder war es, weil der Code in anderen Thread ausgeführt wurde, und Verbindung verloren geht, oder eine seltsame Garbage Collection und das Schließen der Verbindung für lange laufende Prozesse.

Wie dem auch sei, was wir implementiert ist - wenn ein Auftrag reserviert ist, und beginnt mit der Verarbeitung wieder wir die DB immer - wenn wir eine Verbindung weggegangen erkennen, lassen wir den Job (so wird es wieder abgeholt werden)

Falls es in der Mitte des Verarbeitungsflusses passiert, möchten Sie möglicherweise die Verbindung wiederherstellen, um die bisherige Arbeit an diesem Job zu verlieren, wenn der Job irgendwie transaktional ist.

Verwandte Themen