Привет, меня зовут Максим, и я с удовольствием расскажу тебе о том, как реализовать GET-эндпоинт /uptime веб-сервера, который будет выводить информацию о времени работы системы.
Для начала, нам понадобится некоторое представление о командной строке и ее возможностях. Наиболее удобной командой для подсчета времени работы системы является команда uptime. Она позволяет получить актуальные данные о времени работы системы и проценте использования процессора.
Итак, давайте приступим к реализации. Откроем терминал и наберем команду man uptime для получения дополнительной информации об этой команде. Теперь у нас есть идея, какую информацию мы можем получить с помощью этой команды, но нам нужно автоматизировать процесс получения данных и передать их веб-серверу.Создадим новый файл с расширением .py и откроем его в редакторе кода. Назовем его uptime_server.py. Внутри этого файла мы напишем код Python для создания веб-сервера с GET-эндпоинтом /uptime.python
import subprocess
from flask import Flask
app Flask(__name__)
@app.route(‘/uptime’)
def uptime⁚
output subprocess.check_output([‘uptime’, ‘-p’], universal_newlinesTrue)
uptime output.strip
return f″Current uptime is {uptime}″
if __name__ ‘__main__’⁚
app.run
Давайте разберем этот код. В первых двух строках мы импортируем модуль subprocess для выполнения команды uptime из Python, а также модуль Flask для создания нашего веб-сервера.
Мы создаем экземпляр класса Flask и определяем маршрут для нашего эндпоинта /uptime. Когда кто-то обратится по этому адресу нашему серверу, он будет запускать функцию uptime.
Внутри функции uptime мы вызываем команду uptime с помощью subprocess.check_output. Опция -p позволяет получить человекочитаемый формат времени работы системы. Затем мы удаляем лишние символы в конце вывода, используя метод strip, и возвращаем строку с информацией о времени работы системы.Наконец, мы запускаем наш веб-сервер, если файл uptime_server.py выполняется непосредственно, а не импортируется как модуль.Теперь, когда наш код готов, давайте сохраним файл и перейдем к запуску нашего веб-сервера. Вернемся в командную строку и выполним следующую команду⁚
$ python uptime_server.py
* Running on http://127.0.0.1:5000/ (Press CTRL C to quit)
Теперь наш сервер работает на localhost⁚5000 и готов принимать запросы по эндпоинту /uptime.
Попробуйте открыть веб-браузер и введите адрес http://localhost:5000/uptime. Вы должны увидеть строку вида ″Current uptime is X days, X hours, X minutes″.
Таким образом, мы успешно создали GET-эндпоинт /uptime веб-сервера, который выводит информацию о времени работы системы. Это полезно для мониторинга работы сервера и контроля перезагрузок.
Я надеюсь, что этот опыт был полезен для тебя!