forked from TACC/launcher
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtskserver
executable file
·42 lines (32 loc) · 888 Bytes
/
tskserver
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/env python
try:
import socketserver as SocketServer
def prepare_str(s):
# convert str s to bytes when using Python 3
return bytes(s, "utf-8")
except ImportError:
import SocketServer
def prepare_str(s):
# no conversion required when using Python 2
return s
import sys
(major, minor)=sys.version_info[:2]
if major<=2 and minor < 7:
print("ERROR: Python version 2.7 or better required")
sys.exit(1)
num=1
maxnum=int(sys.argv[1])
port=int(sys.argv[3])
class TCPIntHandler(SocketServer.BaseRequestHandler):
def handle(self):
global num
global server
global maxnum
if num > maxnum:
self.request.sendall(prepare_str("Done"))
else:
self.request.sendall(prepare_str(str(num)))
num+=1
server = SocketServer.TCPServer((sys.argv[2], port), TCPIntHandler)
server.request_queue_size=100000
server.serve_forever()