On Thu, Nov 3, 2011 at 6:55 AM, Tim McNamara <paperl...@timmcnamara.co.nz>wrote:
> Here are a few notes of my own from using Neo4j with Python embedded. > I know that this isn't the right place . > > Ubuntu doesn't set $JAVA_HOME. I ended up hard coding the location of my > JVM. > > I seem to encounter unclean shutdowns all the time when running with > the iPython REPL. Is there a db.shutdown() command that I've been > neglecting to use? > Yeah, as long as you call db.shutdown(), things should be ok. See here: http://docs.neo4j.org/chunked/snapshot/python-embedded-reference-core.html We should perhaps set up the db to shut itself down properly automatically if it detects that python is shutting down.. We decided against that before, since we felt like "we don't own the application lifecycle". WDYT? > > Tim > > > On 3 November 2011 17:28, Michael Rene Armida <m...@marmida.com> wrote: > > I'm having some weird problems with threading on shutdown. As I > previously > > discovered, using neo4j in a multi-threaded Python app requires complete > > segregation of neo4j into a single thread. That all works fine for > > creating a database, however, it appears that shutting one down is a bit > of > > a mystery. I wrote a test program to minimally illustrate the > difficulty: > > > > http://pastebin.com/gg204kae > > > > Threading is always easy to get wrong, so I added a simple switch to > remove > > neo4j from the picture. When I disable neo, the program starts up and > > shuts down cleanly. When I re-enable neo, some of the print statements > > never get run, and the app mysteriously exits. > > > > I am testing this by saving it into a script and running it on the > command > > line. Any time after the worker thread finishes creating the neo db, I > hit > > ctrl-c, and the two scenarios play out as above. > > > > It seems that the embedded Python API is not exactly at the forefront of > > popular use, and so I understand if nobody knows what's up with this. I > > just thought I should add something, for the record. I hope my script > > doesn't have an obvious bug. > > > > Thanks, > > Michael > I had a discussion with Tobias this morning about threading with JPype, and am currently writing a fix that will allow full threading support for neo4j-embedded. I'll make sure to run this script as well after that fix is implemented, to make sure it gets fixed as well. As far as the forefront of use goes, there is a surprising amount of pypy downloads of neo4j-embedded (4000 new installs in the last 30 days), so the feedback you are providing here is gonna end up helping a lot of people :) Thank you so much for taking the time to document the issues you are having. /jake > > _______________________________________________ > > Neo4j mailing list > > User@lists.neo4j.org > > https://lists.neo4j.org/mailman/listinfo/user > > > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Jacob Hansson Phone: +46 (0) 763503395 Twitter: @jakewins _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user