Уведомления

Группа в Telegram: @pythonsu

#1 Май 7, 2018 20:26:12

ewro
Зарегистрирован: 2017-11-03
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Страничка с обновляемыми данными в файле

Хочу сделать локальную страничку, на которую выводится директория с файлом. В этот файл нужно записывать обновляемые данные. В примере пока просто счетчик.
Проблема - то не создается страничка, то нет записи в файл. Подозрение, что httpd.serve_forever() и цикл счетчика взаимно блокируют друг друга. Подскажите способ избежать это противоречие.

 import time
from time import time as timer
interval = 2
i=0
from http.server import HTTPServer, CGIHTTPRequestHandler
server_address = ("127.0.0.1", 8081)
httpd = HTTPServer(server_address, CGIHTTPRequestHandler)
httpd.serve_forever()
while True:
    time.sleep(interval - timer() % interval)
    i=i+1
    my_file = open("Таймер.txt", "a")
    my_file.write(str(i)+ '\n')
    my_file.close()

Отредактировано ewro (Май 7, 2018 20:26:41)

Офлайн

#2 Май 7, 2018 20:39:10

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Страничка с обновляемыми данными в файле

Ну я бы не назвал это блокируют. Увас написано выполнить последовательно вот оно и выполняется. Пока сервер не окончит работу счетчик не запустится.

Преодолевать - треды использовать или asyncio или межпроцессное взаимодействие организовать.



Офлайн

#3 Май 8, 2018 05:21:16

ewro
Зарегистрирован: 2017-11-03
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Страничка с обновляемыми данными в файле

Спасибо за ответ. Будем асинхрон изучать.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version