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()