Skip to content

Commit c5340e9

Browse files
committed
went from Threads to Processes
1 parent c6096ed commit c5340e9

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

config.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
run={
2-
"hello_world":{"directory":"hello_world", "restart":False, "main_method":"main"}
2+
"hello_world":{"directory":"hello_world", "restart":False, "main_method":"main"},
3+
"tester":{"directory":"proxy_tester", "restart":False, "main_method":"main"}
34
}

modules/commands.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
commands = ["quit", "list", "start"]
1+
commands = ["quit", "list", "start", "kill"]
22

33
def quit(worker, args=None):
44
return 0
@@ -21,4 +21,5 @@ def start(worker, args=None):
2121
log.warning("Service %i is already running" %id)
2222

2323
def kill(worker, args=None):
24-
worker.kill(int(args[1]))
24+
if len(args) > 1:
25+
worker.kill(int(args[1]))

modules/service.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from importlib import import_module
2-
from threading import Thread
2+
from multiprocessing import Process
33
import run
44

55
class Service():
@@ -8,7 +8,7 @@ def __init__(self, service_name, service_conf):
88
self.directory = service_conf['directory']
99
self.keepAlive = service_conf['restart']
1010
self.main_method = service_conf['main_method']
11-
self.thread = Thread(target=self.run, args=[])
11+
self.process = Process(target=self.run, args=[])
1212

1313
def setId(self, id):
1414
self.id = id
@@ -23,14 +23,14 @@ def run(self):
2323
eval(command)()
2424

2525
def start(self):
26-
self.thread.start()
26+
self.process.start()
2727

28-
def restart(self, thread=None):
29-
if thread is not None:
30-
self.thread = thread
28+
def restart(self, process=None):
29+
if process is not None:
30+
self.process = process
3131
else:
32-
self.thread = Thread(target=self.run, args=[])
33-
self.thread.start()
32+
self.process = Process(target=self.run, args=[])
33+
self.process.start()
3434

3535
def isAlive(self):
36-
return self.thread.isAlive()
36+
return self.process.is_alive()

modules/worker.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ def add(self, service):
2424
self.services.append(service)
2525

2626
def kill(self, id):
27-
service = self.get_service(id)
27+
service = self.getService(id)
2828
if service is None:
2929
log.warning("There is no service with id %i" %id)
3030
return
31-
service.kill()
31+
service.process.terminate()

0 commit comments

Comments
 (0)