Hi, I have a problem with threads.

The documentation says:
A process with multiple threads will often have multiple connections to the 
same database, with different threads having different connections.

But I don't Know if I create different connections in the right way.

I have 2 threads.

In the main.py, the connection works well with this:
#main.py

db = ZODB.config.databaseFromURL('configs/database.conf')
connection = db.open()
root = connection.root()

I have a function that change something in the object I want to persist. 
When I use this function locally all works perfect, The element is updated 
and saved.
def changePos(self, x):
     """a function to change the x position of an element"""
     self.element._x = x
     self._p_changed = True
     transaction.commit()
     print "change success"

The second thread is launched from the main.py. It is a xml-rpc server. 
That serves the mentioned method "changePos()" 
i create the connection in that thread like this.
db2 = ZODB.config.databaseFromURL('configs/database.conf')
connection2 = db2.open()
root2 = connection2.root()

But the problem is that, when I call "changePos(3)" with a xml-rpc client. 
It seems to do the job because it changes the X value and print the "change 
success" message but when I stop the main.py and inspect the X value from 
the data.fs with the Eye program or with another python script to show the 
X value I can see that the X value is not "3" as I would expect. So the 
change was not commited!

Can someone give some help with this? maybe i am doing something wrong, or 
if anyone has an example of how to deal with threads, i 'd be very 
gratefull.

BTW: I try to use the ZEO and I made and example with 2 diferent process 
and it works but I can't do it with 2 threads!

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/d/optout.

Reply via email to