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

Reply via email to