diff --git a/gui/templates/base.html b/gui/templates/base.html
index 1227ec6..9e73b06 100644
--- a/gui/templates/base.html
+++ b/gui/templates/base.html
@@ -114,7 +114,7 @@
-
LNDg v1.10.0
+
LNDg v1.10.1
Logout
diff --git a/gui/views.py b/gui/views.py
index 2dd2fee..ee8ae72 100644
--- a/gui/views.py
+++ b/gui/views.py
@@ -231,6 +231,7 @@ def logs(request):
if request.method == 'GET':
try:
count = request.GET.get('tail', 20)
+ grep = request.GET.get('grep', None)
logfile = '/var/log/lndg-controller.log'
file_size = path.getsize(logfile)-2
if file_size == 0:
@@ -240,7 +241,14 @@ def logs(request):
read_size = min(target_size, file_size)
with open(logfile, "rb") as reader:
reader.seek(-read_size, 2)
- logs = [line.decode('utf-8') for line in reader.readlines()]
+ logs = []
+ for line in reader.readlines():
+ log_line = line.decode('utf-8')
+ if grep:
+ if str(grep) in log_line:
+ logs.append(log_line)
+ else:
+ logs.append(log_line)
return render(request, 'logs.html', {'logs': logs})
except Exception as e:
return render(request, 'error.html', {'error': str(e)})
diff --git a/rebalancer.py b/rebalancer.py
index 662cb76..3bc5cf6 100644
--- a/rebalancer.py
+++ b/rebalancer.py
@@ -416,22 +416,29 @@ def main():
else:
LocalSettings(key='AR-Workers', value='1').save()
worker_count = 1
- loop = asyncio.new_event_loop()
- asyncio.set_event_loop(loop)
- loop.create_task(update_worker_count())
- while True:
- shutdown_rebalancer = False
- scheduled_rebalances = []
- active_rebalances = []
- if Rebalancer.objects.filter(status=1).exists():
- unknown_errors = Rebalancer.objects.filter(status=1)
- for unknown_error in unknown_errors:
- unknown_error.status = 400
- unknown_error.stop = datetime.now()
- unknown_error.save()
- loop.run_until_complete(start_queue(worker_count))
- print(f"{datetime.now().strftime('%c')} : [Rebalancer] : Rebalancer successfully exited...sleeping for 20 seconds")
- sleep(20)
+ try:
+ print(f"{datetime.now().strftime('%c')} : [Rebalancer] : Rebalancer initializing...")
+ loop = asyncio.new_event_loop()
+ asyncio.set_event_loop(loop)
+ loop.create_task(update_worker_count())
+ while True:
+ shutdown_rebalancer = False
+ scheduled_rebalances = []
+ active_rebalances = []
+ if Rebalancer.objects.filter(status=1).exists():
+ unknown_errors = Rebalancer.objects.filter(status=1)
+ for unknown_error in unknown_errors:
+ unknown_error.status = 400
+ unknown_error.stop = datetime.now()
+ unknown_error.save()
+ loop.run_until_complete(start_queue(worker_count))
+ print(f"{datetime.now().strftime('%c')} : [Rebalancer] : Rebalancer successfully exited...sleeping for 20 seconds")
+ sleep(20)
+ except Exception as e:
+ error = str(e)
+ print(f"{datetime.now().strftime('%c')} : [Rebalancer] : Rebalancer loop error: {error}")
+ finally:
+ print(f"{datetime.now().strftime('%c')} : [Rebalancer] : Rebalancer loop has been terminated")
if __name__ == '__main__':
main()