File size: 2,469 Bytes
307038f ff4ee34 e9b3b9a 8df00fa e9b3b9a ff4ee34 e9b3b9a ff4ee34 a72d7d7 a14f293 a72d7d7 a14f293 a72d7d7 e9b3b9a 68387ac ff4ee34 e9b3b9a 66540bf a72d7d7 66540bf 68387ac 66540bf 68387ac |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
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}'
# Формирование тела запроса
data = {
"range": f"{sheet_name}!A:E", # Укажите диапазон ячеек, в которые вы хотите добавить данные
"majorDimension": "ROWS",
"values": new_values
}
# Отправка запроса
response = requests.post(url, json=data)
# Проверка статуса ответа
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() |