LEFT | RIGHT |
(no file at all) | |
1 #!/usr/bin/env python3 | 1 #!/usr/bin/env python3 |
2 """Multiprocess WebSocket http chat example.""" | 2 """Multiprocess WebSocket http chat example.""" |
3 | 3 |
4 import argparse | 4 import argparse |
5 import os | 5 import os |
6 import logging | 6 import logging |
7 import socket | 7 import socket |
8 import signal | 8 import signal |
9 import time | 9 import time |
10 import tulip | 10 import tulip |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 loop.add_signal_handler(signal.SIGINT, stop) | 128 loop.add_signal_handler(signal.SIGINT, stop) |
129 | 129 |
130 # heartbeat | 130 # heartbeat |
131 self.heartbeat() | 131 self.heartbeat() |
132 | 132 |
133 tulip.get_event_loop().run_forever() | 133 tulip.get_event_loop().run_forever() |
134 os._exit(0) | 134 os._exit(0) |
135 | 135 |
136 @tulip.task | 136 @tulip.task |
137 def start_server(self, writer): | 137 def start_server(self, writer): |
138 sock = yield from self.loop.start_serving( | 138 socks = yield from self.loop.start_serving( |
139 lambda: HttpServer( | 139 lambda: HttpServer( |
140 debug=True, parent=writer, clients=self.clients), | 140 debug=True, parent=writer, clients=self.clients), |
141 sock=self.sock) | 141 sock=self.sock) |
142 print('Starting srv worker process {} on {}'.format( | 142 print('Starting srv worker process {} on {}'.format( |
143 os.getpid(), sock.getsockname())) | 143 os.getpid(), socks[0].getsockname())) |
144 | 144 |
145 @tulip.task | 145 @tulip.task |
146 def heartbeat(self): | 146 def heartbeat(self): |
147 # setup pipes | 147 # setup pipes |
148 read_transport, read_proto = yield from self.loop.connect_read_pipe( | 148 read_transport, read_proto = yield from self.loop.connect_read_pipe( |
149 tulip.StreamProtocol, os.fdopen(self.up_read, 'rb')) | 149 tulip.StreamProtocol, os.fdopen(self.up_read, 'rb')) |
150 write_transport, _ = yield from self.loop.connect_write_pipe( | 150 write_transport, _ = yield from self.loop.connect_write_pipe( |
151 tulip.StreamProtocol, os.fdopen(self.down_write, 'wb')) | 151 tulip.StreamProtocol, os.fdopen(self.down_write, 'wb')) |
152 | 152 |
153 reader = read_proto.set_parser(websocket.WebSocketParser()) | 153 reader = read_proto.set_parser(websocket.WebSocketParser()) |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 if ':' in args.host: | 302 if ':' in args.host: |
303 args.host, port = args.host.split(':', 1) | 303 args.host, port = args.host.split(':', 1) |
304 args.port = int(port) | 304 args.port = int(port) |
305 | 305 |
306 superviser = Superviser(args) | 306 superviser = Superviser(args) |
307 superviser.start() | 307 superviser.start() |
308 | 308 |
309 | 309 |
310 if __name__ == '__main__': | 310 if __name__ == '__main__': |
311 main() | 311 main() |
LEFT | RIGHT |