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