服务器端事件不适用于AWS EC-2

时间:2019-06-10 16:25:12

标签: flask amazon-ec2 redis

我有一个flask应用程序,该应用程序通过redis(使用gunicorn)提供服务器事件事件,在本地计算机上运行良好。但是,当我将其部署到AWS EC2实例上时,前端不会收到任何事件。当使用以下命令查看时,Redis会接收数据:

redis-cli monitor

为此必须设置任何配置吗?

我在应用程序中使用flask_ssegeventguniorn

我的代码是:

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

0 个答案:

没有答案