У меня очень простое представление;
index.html
<body>
<div id="liveFeed">
</div>
</body>
views.py
def index(request):
return render(request, 'index.html')
Кроме того, у меня есть еще один процесс, который записывает строки в именованный канал (назовем его / var / run / fifo), что-то вроде этого;
producer.sh
#!/bin/bash
count=1
mkfifo /var/run/fifo
while true
do
echo "test line $count" > /var/run/fifo
count=$((count + 1))
sleep 1
done
Пока «производитель.sh» работает, я могу посмотреть, что он пишет в трубе, делая что-то вроде этого;
$> while true; do cat /var/run/fifo; done
test line 1
test line 2
test line 3
test line 4
test line 5
Однако, вместо того, чтобы читать из трубы и просто распечатывать ее, я хотел бы как-то отправить этот вывод в div «liveFeed» в index.html, показать только самые последние N строк и автоматически прокручивать вверх скрыть старые записи и показать новые, без обновления страницы. Я просто хочу, чтобы div «liveFeed» обновлялся всякий раз, когда «производитель.sh» записывается в трубу.
Я знаю, что это, вероятно, очень широкий вопрос. Я просто не уверен, с чего начать. Какой правильный подход сделать что-то вроде этой работы?
У меня очень простое представление;
index.html
<body>
<div id="liveFeed">
</div>
</body>
views.py
def index(request):
return render(request, 'index.html')
Кроме того, у меня есть еще один процесс, который записывает строки в именованный канал (назовем его / var / run / fifo), что-то вроде этого;
producer.sh
#!/bin/bash
count=1
mkfifo /var/run/fifo
while true
do
echo "test line $count" > /var/run/fifo
count=$((count + 1))
sleep 1
done
Пока «производитель.sh» работает, я могу посмотреть, что он пишет в трубе, делая что-то вроде этого;
$> while true; do cat /var/run/fifo; done
test line 1
test line 2
test line 3
test line 4
test line 5
Однако, вместо того, чтобы читать из трубы и просто распечатывать ее, я хотел бы как-то отправить этот вывод в div «liveFeed» в index.html, показать только самые последние N строк и автоматически прокручивать вверх скрыть старые записи и показать новые, без обновления страницы. Я просто хочу, чтобы div «liveFeed» обновлялся всякий раз, когда «производитель.sh» записывается в трубу.
Я знаю, что это, вероятно, очень широкий вопрос. Я просто не уверен, с чего начать. Какой правильный подход сделать что-то вроде этой работы?
00HTML, Джанго,