Spaces:
Sleeping
Sleeping
import os | |
from apscheduler.schedulers.background import BackgroundScheduler | |
import requests | |
import globs | |
# Загрузка переменных окружения | |
api_key_goo = os.getenv('api_key_g') | |
spreadsheet_id = os.getenv('spreadsheet') | |
sheet_name = "pH" # Название листа в Google Таблицах | |
# Инициализация планировщика | |
scheduler = BackgroundScheduler() | |
def send_data_to_google_sheets(sheet_name): | |
try: | |
# Получение данных из глобальных переменных | |
dey_graf = globs.dey | |
wek_graf = globs.wek | |
v_hid_graf = globs.v_hid | |
v_min_graf = globs.v_min | |
ph_graf = globs.ph | |
# Формирование данных для отправки | |
new_values = [ | |
[dey_graf, wek_graf, v_hid_graf, v_min_graf, ph_graf] | |
] | |
# URL для отправки данных | |
url = f'https://sheets.googleapis.com/v4/spreadsheets/{spreadsheet_id}/values/{sheet_name}:append?valueInputOption=RAW&key={api_key_goo}' | |
# Заголовки для запроса | |
headers = { | |
'Content-Type': 'application/json' | |
} | |
# Отправка запроса | |
response = requests.post(url, headers=headers, json={'values': new_values}) | |
# Проверка статуса ответа | |
if response.status_code == 200: | |
print('Данные успешно добавлены в таблицу.') | |
else: | |
print('Ошибка при добавлении данных в таблицу:', response.text) | |
except Exception as e: | |
print(f"Произошла ошибка при отправке данных: {e}") | |
# Отправка данных сразу после запуска сервера | |
send_data_to_google_sheets(sheet_name) | |
# Добавление задачи в планировщик для повторения каждый час | |
scheduler.add_job(send_data_to_google_sheets, 'interval', hours=1, args=[sheet_name]) | |
# Запуск планировщика | |
scheduler.start() | |
# Остановка планировщика при завершении работы | |
try: | |
while True: | |
pass | |
except (KeyboardInterrupt, SystemExit): | |
scheduler.shutdown() |