Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit acebe04

Browse files
committed
added 'reload' command
1 parent f14e552 commit acebe04

File tree

3 files changed

+29
-7
lines changed

3 files changed

+29
-7
lines changed

‎daemon.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
#!/bin/python
2+
23
#local imports
34
from modules.worker import Worker
4-
from modules.service import Service
5-
from modules.utils import *
65
from modules.server import Server
76
from modules.commands import quit
87
#externam imports
@@ -19,10 +18,7 @@ def __init__():
1918
global server
2019
# log.basicConfig(filename=LOG_FILENAME,level=log.DEBUG)
2120
log.basicConfig(level=log.DEBUG)
22-
check_config()
23-
for service_name in config.run.keys():
24-
service_conf = config.run[service_name]
25-
worker.add(Service(service_name, service_conf))
21+
worker.init()
2622
server = Server(config.daemon, worker)
2723

2824
def main():

‎modules/commands.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
available_commands = ["quit", "list", "start", "kill", "status"]
1+
available_commands = ["quit", "list", "start", "kill", "status", "restart"]
22

33
def handle_input(command, worker, server=None):
44
command = command.strip()
@@ -10,6 +10,10 @@ def handle_input(command, worker, server=None):
1010
output = eval("%s" %command[0])(worker, command, server)
1111
return True, output
1212

13+
def restart(worker, args=None, server=None):
14+
worker.restart()
15+
return "Worker restarted"
16+
1317
def quit(worker, args=None, server=None):
1418
print("Quitting server")
1519
server.stop()

‎modules/worker.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1+
from modules.utils import check_config
2+
from modules.service import Service
3+
from importlib import reload
14
import logging as log
5+
import config
26

37
class Worker():
48
def __init__(self):
@@ -17,6 +21,24 @@ def start(self):
1721
log.info("Starting service %s" %service.name)
1822
service.start()
1923

24+
def init(self):
25+
self.__init__()
26+
check_config()
27+
for service_name in config.run.keys():
28+
service_conf = config.run[service_name]
29+
self.add(Service(service_name, service_conf))
30+
return
31+
32+
def stop(self):
33+
for service in self.services:
34+
self.kill(service.id)
35+
36+
def restart(self):
37+
self.stop()
38+
reload(config)
39+
self.init()
40+
self.start()
41+
2042
def add(self, service):
2143
log.info("Added service %s" %service.name)
2244
self.lastId += 1

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /