Серверные события не работают на AWS EC-2 - PullRequest
0 голосов
/ 10 июня 2019

У меня есть приложение фляги, которое обслуживает события seide-сервера через redis (с помощью gunicorn). Оно отлично работает на локальной машине. Но когда я развертываю его на экземпляре AWS EC2, никакие события не поступают во внешний интерфейс. Redis получает данные при просмотре с помощью:

redis-cli monitor

Есть ли какая-либо конфигурация, которая должна быть настроена для этого?

Я использую flask_sse, gevent и guniorn для приложения.

Мой код:

from flask import Flask, render_template
import atexit
from apscheduler.scheduler import Scheduler
from flask_sse import sse
import time,json

app = Flask(__name__)


cron = Scheduler(daemon=True)
cron.start()

@cron.interval_schedule(seconds=0.1)
def publish_hello():
    with app.app_context():
         sse.publish({"timestamp":time.time()}, type='nodelink')
         sse.publish({})

atexit.register(lambda: cron.shutdown(wait=False))


app.config["REDIS_URL"] = "redis://localhost"
app.register_blueprint(sse, url_prefix='/stream')


@app.route('/')
def index():
    return render_template("index.html")


#run redis with
#redis-server /usr/local/etc/redis.conf

#run server with
#gunicorn main:app --worker-class gevent --bind 127.0.0.1:8000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...