Verwirrung: _S_construct NULL not valid

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
TobWen
User
Beiträge: 1
Registriert: Freitag 25. Juni 2010, 04:24

Hallöchen,

ich verwende Mapnik in Verbindung mit Python unter Debian zur Berechnung von Kartenkacheln.
Bislang habe ich immer nur einen Thread verwendet; da ich jedoch 4 Cores habe, wollte ich mal Multiprocessing probieren.

Variante 1: http://paste.pocoo.org/show/229668/
Variante 2: http://paste.pocoo.org/show/229660/

Variante 1 funktioniert. Leider muss man jedoch die Map in jedem Loop neu initialisieren, da sonst ein und dieselbe libpq-Verbindung (Zugriff auf die PostgreSQL) von mehreren Threads verwendet wird ... das ist aber ineffizient.
Also habe ich es über Klassen probiert; so müsste pro Worker nur einmal eine Map initialisiert werden.

Leider funktioniert Variante 2 nicht wie erwaret. Er wirft mir in Zeile 38 diesen Fehler aus:
RuntimeError: basic_string::_S_construct NULL not valid
Was hat es damit aufsich? Kommen sich die Worker in der Queue in die Quere? ;-)

Vielen Dank
Tobias
Antworten