Release lock inside thread
This commit is contained in:
1 parent
40f01dca6f
commit
3bd831782c
1 file changed
+6
-4
+6
-4
@@ -33,10 +33,10 @@ def run_async(func):
|
|||||||
def run_handler(route, kwargs, callback = None):
|
def run_handler(route, kwargs, callback = None):
|
||||||
try:
|
try:
|
||||||
res = api[route](**kwargs)
|
res = api[route](**kwargs)
|
||||||
callback(res)
|
callback(res, route)
|
||||||
except:
|
except:
|
||||||
log.error('Failed doing api request "%s": %s', (route, traceback.format_exc()))
|
log.error('Failed doing api request "%s": %s', (route, traceback.format_exc()))
|
||||||
callback({'success': False, 'error': 'Failed returning results'})
|
callback({'success': False, 'error': 'Failed returning results'}, route)
|
||||||
|
|
||||||
|
|
||||||
# NonBlock API handler
|
# NonBlock API handler
|
||||||
@@ -115,11 +115,11 @@ class ApiHandler(RequestHandler):
|
|||||||
self.write({'success': False, 'error': 'Failed returning results'})
|
self.write({'success': False, 'error': 'Failed returning results'})
|
||||||
self.finish()
|
self.finish()
|
||||||
|
|
||||||
api_locks[route].release()
|
api_locks[route].release()
|
||||||
|
|
||||||
post = get
|
post = get
|
||||||
|
|
||||||
def taskFinished(self, result):
|
def taskFinished(self, result, route):
|
||||||
|
|
||||||
if self.request.connection.stream.closed():
|
if self.request.connection.stream.closed():
|
||||||
return
|
return
|
||||||
@@ -142,6 +142,8 @@ class ApiHandler(RequestHandler):
|
|||||||
try: self.finish({'success': False, 'error': 'Failed returning results'})
|
try: self.finish({'success': False, 'error': 'Failed returning results'})
|
||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
|
api_locks[route].release()
|
||||||
|
|
||||||
|
|
||||||
def addApiView(route, func, static = False, docs = None, **kwargs):
|
def addApiView(route, func, static = False, docs = None, **kwargs):
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user