equal
deleted
inserted
replaced
1 from multiprocessing import Process, Pool |
1 from multiprocessing import Process |
2 from sqlalchemy import create_engine |
2 from sqlalchemy import create_engine |
3 |
|
4 from time import sleep |
|
5 |
3 |
6 from tempfile import mkdtemp |
4 from tempfile import mkdtemp |
7 import shutil |
5 import shutil |
8 |
6 |
9 from iro.controller.database import createDatabase,WithSession, DBDefer |
7 from iro.controller.database import createDatabase,WithSession, DBDefer |
17 class SampleDatabase(Database): |
15 class SampleDatabase(Database): |
18 def createPassword(self): |
16 def createPassword(self): |
19 self.password="test" |
17 self.password="test" |
20 return self.password |
18 return self.password |
21 |
19 |
|
20 from twisted.python import log |
22 import logging |
21 import logging |
23 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(name)s(%(processName)s)-%(levelname)s: %(message)s') |
22 logging.basicConfig(level=logging.INFO, format='%(asctime)s %(name)s(%(processName)s)-%(levelname)s: %(message)s') |
24 |
23 #observer = log.PythonLoggingObserver() |
|
24 #observer.start() |
25 |
25 |
26 def xxxxx(userid): |
26 def xxxxx(userid): |
27 import xmlrpclib |
27 import xmlrpclib |
28 return xmlrpclib.ServerProxy('http://localhost:7080/RPC2').status(userid) |
28 return xmlrpclib.ServerProxy('http://localhost:7080/RPC2').listMethods() |
29 |
29 |
30 def main(): |
30 def main(): |
31 from twisted.internet import reactor |
31 from twisted.internet import reactor |
32 from twisted.web import xmlrpc, server |
32 from twisted.web import xmlrpc, server |
33 |
33 |
57 db.engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir) |
57 db.engine = create_engine('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir) |
58 dbdefer = DBDefer('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir, pool_size=5) |
58 dbdefer = DBDefer('mysql://test:test@localhost/test?unix_socket=%s/socket'%tdir, pool_size=5) |
59 |
59 |
60 @dbdefer |
60 @dbdefer |
61 def getuser(userhash, session): |
61 def getuser(userhash, session): |
62 session.execute("SELECT SLEEP(10)") |
62 #session.execute("SELECT SLEEP(10)") |
63 return imuser._getuser(userhash = userhash, session=session) |
63 return imuser._getuser(userhash = userhash, session=session) |
|
64 |
64 imuser.dbdefer=dbdefer |
65 imuser.dbdefer=dbdefer |
65 imuser._getuser=imuser.getuser |
66 imuser._getuser=imuser.getuser |
66 imuser.getuser=getuser |
67 imuser.getuser=getuser |
67 |
68 |
68 |
69 |
70 createDatabase() |
71 createDatabase() |
71 with WithSession(autocommit=True) as session: |
72 with WithSession(autocommit=True) as session: |
72 session.add(User(name='test',apikey='abcdef123456789')) |
73 session.add(User(name='test',apikey='abcdef123456789')) |
73 p = Process(target=main) |
74 p = Process(target=main) |
74 p.start() |
75 p.start() |
75 sleep(1) |
|
76 pool=Pool(5) |
|
77 print pool.map(xxxxx, ('abcdef123456789',)*25) |
|
78 p.join() |
76 p.join() |
79 finally: |
77 finally: |
80 s.stop() |
78 s.stop() |
81 finally: |
79 finally: |
82 shutil.rmtree(tdir) |
80 shutil.rmtree(tdir) |