Skip to content

Commit 00d9837

Browse files
committed
Added keepalive setting option
1 parent 32f3dac commit 00d9837

File tree

4 files changed

+21
-7
lines changed

4 files changed

+21
-7
lines changed

config.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
run={
2-
"hello_world":{"directory":"hello_world", "restart":False, "main_method":"main"}
2+
"SMTPTester" : {"directory":"SMTPTester", "restart":False, "main_method":"main", "repository":"https://github.com/lupin012345/SMTPTester.git"},
3+
"epitech_api_flask" : {"repository":"https://github.com/lupin012345/epitech-api-public.git", "restart": False, "main_method":"app.run", "directory":"epitechApi", "flask":{"host":"0.0.0.0", "port":8081}}
34
}
45

56
daemon={
6-
"port": 8889,
7-
"host": "127.0.0.1"
7+
"port": 8888,
8+
"host": "0.0.0.0",
9+
"services_directory": "run"
810
}

modules/commands.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
available_commands = ["quit", "list", "start", "kill", "status", "restart", "clear"]
1+
import logging as log
2+
available_commands = ["quit", "list", "start", "kill", "status", "restart", "clear", "keepalive"]
23

34
def handle_input(command, worker, server=None):
45
command = command.strip()
@@ -10,6 +11,16 @@ def handle_input(command, worker, server=None):
1011
output = eval("%s" %command[0])(worker, command, server)
1112
return True, output
1213

14+
def keepalive(worker, args=None, server=None):
15+
if len(args) < 3:
16+
return "You must specify a value. Example : keepalive 1 true"
17+
id = int(args[1])
18+
service = worker.getService(id)
19+
if service is None:
20+
return "There isn't such service"
21+
service.keepAlive = bool(args[2])
22+
return args[2]
23+
1324
def restart(worker, args=None, server=None):
1425
worker.restart()
1526
return "Worker restarted"
@@ -42,7 +53,7 @@ def status(worker, args=None, server=None):
4253
def list(worker, args=None, server=None):
4354
strlist = ""
4455
for service in worker.services:
45-
strlist += "[%i] | %s | Alive : %s\n" %(service.id, service.name, service.isAlive())
56+
strlist += "[%i] | %s | Alive : %s | keepAlive : %s\n" %(service.id, service.name, service.isAlive(), service.keepAlive)
4657
return strlist
4758

4859
def start(worker, args=None, server=None):
@@ -52,7 +63,7 @@ def start(worker, args=None, server=None):
5263
if service is None:
5364
return "There isn't such service"
5465
if not service.isAlive():
55-
service.restart()
66+
service.start()
5667
return "service started"
5768
else:
5869
log.warning("Service %i is already running" %id)

modules/service.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def run(self):
5858
eval(command)(host=self.flask['host'], port=self.flask['port'])
5959

6060
def start(self):
61+
self.process = Process(target=self.run, args=[])
6162
self.process.start()
6263

6364
def stop(self):

modules/worker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def stop(self):
3737
def restart(self):
3838
self.stop()
3939
reload(config)
40-
self.init()
40+
self.init(self.server)
4141
self.start()
4242

4343
def add(self, service):

0 commit comments

Comments
 (0)