Update app.py
Browse files
app.py
CHANGED
@@ -7,7 +7,8 @@ import time
|
|
7 |
import re
|
8 |
import json
|
9 |
import base64
|
10 |
-
|
|
|
11 |
from unidecode import unidecode
|
12 |
|
13 |
api_key_sys = os.getenv('api_key_sys')
|
@@ -109,13 +110,59 @@ for db in DATABASES:
|
|
109 |
|
110 |
|
111 |
|
112 |
-
# Флаг выполнения кода
|
113 |
code_executed = False
|
114 |
|
115 |
# Переменная для хранения данных
|
116 |
export_data_var = None
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
|
120 |
|
121 |
|
|
|
7 |
import re
|
8 |
import json
|
9 |
import base64
|
10 |
+
import asyncio
|
11 |
+
import aiohttp
|
12 |
from unidecode import unidecode
|
13 |
|
14 |
api_key_sys = os.getenv('api_key_sys')
|
|
|
110 |
|
111 |
|
112 |
|
|
|
113 |
code_executed = False
|
114 |
|
115 |
# Переменная для хранения данных
|
116 |
export_data_var = None
|
117 |
|
118 |
+
async def fetch(session, url):
|
119 |
+
async with session.get(url) as response:
|
120 |
+
return await response.json()
|
121 |
+
|
122 |
+
async def main():
|
123 |
+
global code_executed, export_data_var
|
124 |
+
|
125 |
+
if start_up == '1' and not code_executed:
|
126 |
+
# Формирование URL для первого запроса
|
127 |
+
url_template = f"{gc_url_gru}/{id_gru}/users?key={gc_api}&created_at[from]={date_from}&status={status}"
|
128 |
+
|
129 |
+
async with aiohttp.ClientSession() as session:
|
130 |
+
# Отправка первого запроса к серверу
|
131 |
+
data = await fetch(session, url_template)
|
132 |
+
|
133 |
+
if data.get("success"):
|
134 |
+
export_id = data.get("info", {}).get("export_id", "")
|
135 |
+
print("Export ID:", export_id)
|
136 |
+
|
137 |
+
# Задержка в 5 минут перед вторым запросом (в секундах)
|
138 |
+
time_delay = 5 * 60
|
139 |
+
print(f"Ждем {time_delay} секунд перед вторым запросом...")
|
140 |
+
await asyncio.sleep(time_delay)
|
141 |
|
142 |
+
# Формирование URL для второго запроса по export_id
|
143 |
+
export_url_template = f"{gc_url_export}/{export_id}?key={gc_api}"
|
144 |
+
|
145 |
+
# Отправка второго запроса к серверу по export_id
|
146 |
+
export_data = await fetch(session, export_url_template)
|
147 |
+
|
148 |
+
if export_data.get("success"):
|
149 |
+
print("Полученные данные по export_id:", export_data)
|
150 |
+
|
151 |
+
# Сохранение данных в переменную
|
152 |
+
export_data_var = export_data
|
153 |
+
|
154 |
+
# Пример использования переменной export_data_var
|
155 |
+
# Здесь вы можете выполнять любые операции с данными
|
156 |
+
print("Пример использования переменной export_data_var:")
|
157 |
+
print(export_data_var)
|
158 |
+
|
159 |
+
code_executed = True # Устанавливаем флаг выполнения кода
|
160 |
+
else:
|
161 |
+
print(f"Ошибка при выполнении второго запроса по export_id, статус код: {export_data.get('status_code')}")
|
162 |
+
else:
|
163 |
+
print("Ошибка в ответе от сервера:", data.get("error_message"))
|
164 |
+
else:
|
165 |
+
print("Системная переменная start_up не равна '1' или код уже выполнялся при старте сервера.")
|
166 |
|
167 |
|
168 |
|