Seite 1 von 1

Verwirrung: _S_construct NULL not valid

Verfasst: Freitag 25. Juni 2010, 04:37
von TobWen
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