После урока я написал команду управления для запуска торнадо, и это выглядит как:Джанго торнадо получать 403 ошибки на старте
import signal
import time
import tornado.httpserver
import tornado.ioloop
from django.core.management.base import BaseCommand, CommandError
from privatemessages.tornadoapp import application
class Command(BaseCommand):
args = '[port_number]'
help = 'Starts the Tornado application for message handling.'
def sig_handler(self, sig, frame):
"""Catch signal and init callback"""
tornado.ioloop.IOLoop.instance().add_callback(self.shutdown)
def shutdown(self):
"""Stop server and add callback to stop i/o loop"""
self.http_server.stop()
io_loop = tornado.ioloop.IOLoop.instance()
io_loop.add_timeout(time.time() + 2, io_loop.stop)
def handle(self, *args, **options):
if len(args) == 1:
try:
port = int(args[0])
except ValueError:
raise CommandError('Invalid port number specified')
else:
port = 8888
self.http_server = tornado.httpserver.HTTPServer(application)
self.http_server.listen(port, address="127.0.0.1")
# Init signals handler
signal.signal(signal.SIGTERM, self.sig_handler)
# This will also catch KeyboardInterrupt exception
signal.signal(signal.SIGINT, self.sig_handler)
print "start"
tornado.ioloop.IOLoop.instance().start()
print "end"
Вот я, когда я запускаю эту команду управления я получаю Торнадо tornado.access:403 GET /2/ (127.0.0.1) 1.92ms
ошибка
Для целей тестирования я напечатал «начало» и «конец». Я думаю, когда эта команда будет успешно выполнена, «конец» должен быть напечатан.
Здесь только «старт» печатается не «end». Я думаю, что есть ошибка на tornado.ioloop.IOLoop.instance().start()
, но я не знаю, что это такое.
Может ли кто-нибудь вести меня, что здесь не так?
Я получаю ту же ошибку, что я добавил self.http_server.start() – aryan
Я считаю, что мне нужно, чтобы увидеть больше того, что делается в privatemessages.tornadoapp Является ли это: https://github.com/geraldoandradee/chat -2/blob/master/privatemessages/tornadoapp.py? –
yup it is ... но приложение tornado не запускается и сообщение не отправляется в реальном времени – aryan