On 04/23/2014 06:11 PM, Ariel Argañaraz wrote:
Hi, I have a problem with threads.
You'll want to ask this question at
<https://groups.google.com/forum/#!forum/zodb>. The Pylons Project does
not maintain ZODB.
The documentation says:
A processwith multiple threads will often have multiple connections to
the same database, with different threads having differentconnections.
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]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/pylons-discuss.
For more options, visit https://groups.google.com/d/optout.
--
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.