ファイルを監視し、ファイルが変更されるたびにソケットメッセージを発する例フラスコアプリケーションです。あなたの内容を指定することができます
app.py
from flask import Flask, render_template
from flask_socketio import SocketIO
import pyinotify
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
thread = None
class ModHandler(pyinotify.ProcessEvent):
def process_IN_CLOSE_WRITE(self, evt):
socketio.emit('file updated')
def background_thread():
handler = ModHandler()
wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm, handler)
wm.add_watch('test.log', pyinotify.IN_CLOSE_WRITE)
notifier.loop()
@app.route('/')
def index():
return render_template('index.html', async_mode=socketio.async_mode)
@socketio.on('connect')
def test_connect():
global thread
if thread is None:
thread = socketio.start_background_task(target=background_thread)
if __name__ == '__main__':
socketio.run(app, debug=True)
index.htmlを
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>
<script type="text/javascript" charset="utf-8">
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on('connect', function() {
socket.emit('my event', {data: 'I\'m connected!'});
});
socket.on('file updated', function(data) {
console.log('the file has been updated');
});
</script>
私はそれを読んだが、私の問題の解決策を見つけることができない。正確な解決策を教えてくれますか? – Amit740
正確な解決策を指摘することはできません。具体的にコードや例を挙げて説明する必要があります。正しいことを教えてください。 – kidz55
ファイルがあるとします。私はログをダンプします。このファイルが更新されるたびに、このファイルが更新されていることを示すWebページ(localhost)を更新する必要があります。 – Amit740