-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
42 lines (29 loc) · 906 Bytes
/
app.py
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
import tornado.options
import tornado.ioloop
import tornado.web
import settings
from urls import urls
from pika_connector import PikaConnector
from mongo_connector import MongoConnector
def make_app():
return tornado.web.Application(urls, debug=True)
def main():
tornado.options.options['logging'] = "INFO"
tornado.options.parse_command_line()
io_loop = tornado.ioloop.IOLoop.instance()
app = make_app()
# MongoConnector is our mongodb connector
mongo_connector = MongoConnector(
'test_database', mongo_address=settings.MONGO_ADDRESS)
app.mongo_connector = mongo_connector
# PikaConnector is our rabbitmq consumer
app.pika_connector = PikaConnector(
io_loop, mongo_connector, rabbitmq_address=settings.RABBITMQ_ADDRESS)
app.pika_connector.run()
try:
app.listen(8888)
io_loop.start()
except KeyboardInterrupt:
app.pika_connector.stop()
if __name__ == '__main__':
main()