Моя цель - создать график в режиме реального времени с помощью Dash, который отображает, сколько времени требуется пакетному заданию для выполнения повторяющейся задачи. График будет получать данные из лог-файла batchjob, где он ищет некоторые конкретные слова.
Проблема в том, что когда я хочу отобразить данные на графике, отображаются только первые значения, а не следующие значения.
Я бы предпочел, чтобы он был в двух отдельных функциях, но, поскольку у меня возникли проблемы с графиком, я решил пока что он находится в той же функции.
def update_graph():
specific_word = "help"
for i,line in enumerate(lines):
if specific_word in line:
X.append(int(count))
Y.append(int(time))
data = go.Scatter(
x = list(X),
y = list(Y),
name = 'Scatter',
mode = 'lines+markers'
)
return {'data':[data],
'layout': go.Layout(xaxis = dict(range=[min(X), max(X)]),
yaxis = dict(range=[min(Y), max(Y)]))}
В результате я получаю только первое значение из файла журнала, а не следующие значения.
Когда я заменяю обратную строку на print (data) и выполняю функцию в терминале, я получаю результат, который ищу.
Заранее спасибо!