equal
deleted
inserted
replaced
1 from decorator import decorator |
1 from decorator import decorator |
2 import sqlalchemy |
2 import sqlalchemy |
3 class Data: |
3 class Data: |
|
4 """A very simple class to save the thread pool for database requests""" |
4 def __init__(self): |
5 def __init__(self): |
5 self.pool = None |
6 self.pool = None |
6 |
7 |
7 data = Data() |
8 data = Data() |
8 #a valid dbDefer decorator |
9 """holds connection to the actual thread pool for the database requests""" |
9 |
10 |
10 def setPool(pool): |
11 def setPool(pool): |
|
12 """setting the thread pool""" |
11 data.pool = pool |
13 data.pool = pool |
12 |
14 |
13 @decorator |
15 @decorator |
14 def runInDBPool(f,*args,**kwargs): |
16 def runInDBPool(f,*args,**kwargs): |
15 """Decorator to run DB queries in Twisted's thread pool""" |
17 """Decorator to run DB queries in Twisted's thread pool. |
|
18 |
|
19 If last argument is a session object, the function is called directly. |
|
20 """ |
16 if isinstance(args[-1],sqlalchemy.orm.session.Session): |
21 if isinstance(args[-1],sqlalchemy.orm.session.Session): |
17 return f(*args,**kwargs) |
22 return f(*args,**kwargs) |
18 else: |
23 else: |
19 return data.pool.run(f, *args, **kwargs) |
24 return data.pool.run(f, *args, **kwargs) |
20 |
25 |