Fix bug involving runcheck

master
Arinerron 2018-05-01 23:50:29 -07:00
parent 0a7c3aeaab
commit 7973d7c8a6
No known key found for this signature in database
GPG Key ID: 99383627861C62F0
3 changed files with 22 additions and 17 deletions

View File

@ -136,7 +136,7 @@ class API:
if action == 'hello': if action == 'hello':
resp = Response('Hello, World! ' + request.host) resp = Response('Hello, World! ' + request.host)
elif action == 'shutdown': elif action == 'shutdown':
request.environ.get('werkzeug.server.shutdown')() # request.environ.get('werkzeug.server.shutdown')()
resp = Response('Goodbye') resp = Response('Goodbye')
elif action == 'ping': elif action == 'ping':
resp = Response('pong') resp = Response('pong')

View File

@ -114,8 +114,9 @@ class OnionrCommunicate:
elif command[0] == 'runCheck': elif command[0] == 'runCheck':
logger.info('Status check; looks good.') logger.info('Status check; looks good.')
open('data/.runcheck', 'w+').close() open('data/.runcheck', 'w+').close()
break
apiRunningCheckCount += 1 apiRunningCheckCount += 1
# check if local API is up # check if local API is up
if apiRunningCheckCount > apiRunningCheckRate: if apiRunningCheckCount > apiRunningCheckRate:
if self._core._utils.localCommand('ping') != 'pong': if self._core._utils.localCommand('ping') != 'pong':
@ -131,6 +132,7 @@ class OnionrCommunicate:
apiRunningCheckCount = 0 apiRunningCheckCount = 0
time.sleep(1) time.sleep(1)
self._netController.killTor() self._netController.killTor()
return return

View File

@ -400,21 +400,24 @@ class OnionrUtils:
retData = row[0] retData = row[0]
return retData return retData
def isCommunicatorRunning(timeout = 5, interval = 0.1): def isCommunicatorRunning(self, timeout = 5, interval = 0.1):
runcheck_file = 'data/.runcheck' try:
runcheck_file = 'data/.runcheck'
if os.path.isfile(runcheck_file):
os.remove(runcheck_file)
logger.debug('%s file appears to have existed before the run check.' % runcheck_file, timestamp = False)
self._core.daemonQueueAdd('runCheck')
starttime = time.time()
while True:
time.sleep(interval)
if os.path.isfile(runcheck_file): if os.path.isfile(runcheck_file):
os.remove(runcheck_file) os.remove(runcheck_file)
logger.debug('%s file appears to have existed before the run check.' % runcheck_file, timestamp = False)
return True self._core.daemonQueueAdd('runCheck')
elif starttime - time.time() >= timeout: starttime = time.time()
return False
while True:
time.sleep(interval)
if os.path.isfile(runcheck_file):
os.remove(runcheck_file)
return True
elif time.time() - starttime >= timeout:
return False
except:
return False