我该如何在Flask中设置Pusher服务器?

9

我正在尝试搭建一个简单的flask服务器:

import envkey
import pysher
from flask import Flask
# from predictor import PythonPredictor
app = Flask(__name__)


pusher = pysher.Pusher(envkey.get('PUSHER_KEY'))


def my_func(*args, **kwargs):
    print("processing Args:", args)
    print("processing Kwargs:", kwargs)

# We can't subscribe until we've connected, so we use a callback handler
# to subscribe when able


def connect_handler(data):
    print('connect habndler')
    channel = pusher.subscribe('mychannel')
    channel.bind('myevent', my_func)


pusher.connection.bind('pusher:connection_established', connect_handler)


@app.route('/')
def index():

    pusher.connect()

    return 'Server Works!'

但是我遇到了一个错误:

RuntimeError: cannot join current thread

我做错了什么?


1
似乎已经有一个正在运行的进程,而且没有被杀死...你能用 ps -aux 命令验证一下吗?如果它已经在运行,请杀掉该进程。 - Ashwin Geet D'Sa
1
错误发生在哪个时刻?是在启动Flask服务器时还是在使用pusher.connect()语句调用该端点时? - errata
.connect 是出错的地方。 - Shamoon
1个回答

3

在初始化期间指定我的 Pusher 集群有助于我解决了这个问题:

pusher = pysher.Pusher(
    key=envkey.get('PUSHER_KEY'),  # Or however you get the key
    cluster="eu",  # Add cluster!
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接