Используйте представление «Флажок» для непрерывного чтения из файла навсегда и потока ответа. Используйте JavaScript для чтения из потока и обновления страницы. Этот пример отправляет весь файл, вы можете усечь его в какой-то момент, чтобы сохранить пропускную способность и память. Этот пример засыпает между чтениями, чтобы уменьшить загрузку процессора из бесконечного цикла и разрешить другим потокам более активное время.
from time import sleep
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/stream')
def stream():
def generate():
with open('job.log') as f:
while True:
yield f.read()
sleep(1)
return app.response_class(generate(), mimetype='text/plain')
app.run()
Это почти то же самое, что этот ответ , который описывает, как передавать и анализировать сообщения, хотя чтение из внешнего файла навсегда было достаточно новым, чтобы быть его собственным ответом. Код здесь проще, потому что мы не заботимся о разборе сообщений или прекращении потока, просто навсегда сохраняя файл.
Протестировано как работа:
param([Int32]$step=30) #Must be the first statement in your script
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $step
}
Вызвать его с помощью
powershell.exe -file itunesForward.ps1 -step 15
Вы также можете использовать переменную $args
(это как параметры позиции):
$step=$args[0]
$iTunes = New-Object -ComObject iTunes.Application
if ($iTunes.playerstate -eq 1)
{
$iTunes.PlayerPosition = $iTunes.PlayerPosition + $step
}
, тогда ее можно вызвать следующим образом:
powershell.exe -file itunersforward.ps1 15
[string]
. Если вы хотите передать строку в качестве параметра, вы можете использовать либо'
, либо"
. Если в строке нет пробела (или кавычек), вы можете даже опустить кавычки. – Ocaso Protal 2 November 2015 в 09:31param([string]$env,[string]$s3BucketName)
– Josh Padnick 30 December 2015 в 00:12-file
. Вызов без возможности работать с Powershell версии 1.0, но я не могу его проверить. Обновлен ответ. – Ocaso Protal 23 February 2016 в 09:36