gpt4 book ai didi

python-3.x - 后台任务不发出

转载 作者:行者123 更新时间:2023-12-04 17:37:39 25 4
gpt4 key购买 nike

Flask 和 SocketIO 有很多可用的教程,但我找不到任何关于我理解的简单线程方法的教程。但我确实阅读并关注了其中的许多内容。我想使用 websockets 在网页上显示我的 Python 应用程序,所以它是一种实时监控。这是我试图了解如何实现它。

除了 emit 部分,我目前拥有的代码正在工作。似乎没有任何数据传输。我想知道为什么。

socket.on('tingeling' ... 没有被触发。

我的 Python 代码,大部分取自 https://codeburst.io/building-your-first-chat-application-using-flask-in-7-minutes-f98de4adfa5d

from flask import Flask, render_template
from flask_socketio import SocketIO

app = Flask(__name__)
app.config['SECRET_KEY'] = ''
socketio = SocketIO(app)
thread = None

def counter():
print("counter ding")
counting = 0

while True:
counting += 1
socketio.sleep(2)
socketio.emit('tingeling', counting, namespace='')
print(f"Counter: {counting}")

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

@socketio.on('my event')
def connected(data):
print('my event')

@socketio.on('connect')
def starten():
print("connect")
socketio.emit('tingeling', 'start')
global thread
if thread is None:
print('thread ding')
thread = socketio.start_background_task(target=counter())
return render_template('index.html')

if __name__ == '__main__':
socketio.run(app, debug=True)

还有我的 HTML 模板:

  <!DOCTYPE html>
<html lang="en">
<head>
<title>fristi</title>
</head>
<body>

<h3 style='color: #ccc;font-size: 30px;'>waiting</h3>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.min.js"></script>

<script type="text/javascript">
var socket = io.connect('http://' + document.domain + ':' + location.port);
console.log('doet iets')

socket.on( 'connect', function() {
socket.emit( 'my event', {
data: 'User Connected'
})
})

socket.on('tingeling', function(msg) {
console.log('iets komt binnen')
console.log(msg)
})

</script>

</body>
</html>

最佳答案

我的错误在线:thread = socketio.start_background_task(target=counter())

我引用了作为后台任务运行的函数,但我使用了 () 的符号,这是不允许的,因为它运行函数并且不提供 start_background_task 引用了这个函数。

关于python-3.x - 后台任务不发出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56058148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com