Spaces:
Running
Running
Sync DB
Browse files
app.py
CHANGED
|
@@ -70,7 +70,7 @@ def create_db():
|
|
| 70 |
downvote INTEGER
|
| 71 |
);
|
| 72 |
''')
|
| 73 |
-
|
| 74 |
def get_data():
|
| 75 |
conn = get_db()
|
| 76 |
cursor = conn.cursor()
|
|
@@ -192,14 +192,46 @@ with gr.Blocks(theme=theme, css="footer {visibility: hidden}") as demo:
|
|
| 192 |
gr.Markdown(DESCR)
|
| 193 |
gr.TabbedInterface([vote, leaderboard], ['Vote', 'Leaderboard'])
|
| 194 |
def restart_space():
|
| 195 |
-
time.sleep(60)
|
| 196 |
-
print("Restarting space")
|
| 197 |
api = HfApi(
|
| 198 |
token=os.getenv('HF_TOKEN')
|
| 199 |
)
|
|
|
|
|
|
|
| 200 |
api.restart_space(repo_id=os.getenv('HF_ID'))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 201 |
if os.getenv('HF_ID'):
|
| 202 |
restart_thread = threading.Thread(target=restart_space)
|
| 203 |
restart_thread.daemon = True
|
| 204 |
restart_thread.start()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 205 |
demo.queue(api_open=False).launch(show_api=False)
|
|
|
|
| 70 |
downvote INTEGER
|
| 71 |
);
|
| 72 |
''')
|
| 73 |
+
|
| 74 |
def get_data():
|
| 75 |
conn = get_db()
|
| 76 |
cursor = conn.cursor()
|
|
|
|
| 192 |
gr.Markdown(DESCR)
|
| 193 |
gr.TabbedInterface([vote, leaderboard], ['Vote', 'Leaderboard'])
|
| 194 |
def restart_space():
|
|
|
|
|
|
|
| 195 |
api = HfApi(
|
| 196 |
token=os.getenv('HF_TOKEN')
|
| 197 |
)
|
| 198 |
+
time.sleep(60 * 60) # Every hour
|
| 199 |
+
print("Restarting space")
|
| 200 |
api.restart_space(repo_id=os.getenv('HF_ID'))
|
| 201 |
+
def sync_db():
|
| 202 |
+
api = HfApi(
|
| 203 |
+
token=os.getenv('HF_TOKEN')
|
| 204 |
+
)
|
| 205 |
+
while True:
|
| 206 |
+
time.sleep(60 * 15)
|
| 207 |
+
print("Uploading DB")
|
| 208 |
+
api.upload_file(
|
| 209 |
+
path_or_fileobj='database.db',
|
| 210 |
+
path_in_repo='database.db',
|
| 211 |
+
repo_id=os.getenv('DATASET_ID'),
|
| 212 |
+
repo_type='dataset'
|
| 213 |
+
)
|
| 214 |
if os.getenv('HF_ID'):
|
| 215 |
restart_thread = threading.Thread(target=restart_space)
|
| 216 |
restart_thread.daemon = True
|
| 217 |
restart_thread.start()
|
| 218 |
+
if os.getenv('DATASET_ID'):
|
| 219 |
+
# Fetch DB
|
| 220 |
+
api = HfApi(
|
| 221 |
+
token=os.getenv('HF_TOKEN')
|
| 222 |
+
)
|
| 223 |
+
try:
|
| 224 |
+
api.hf_hub_download(
|
| 225 |
+
repo_id=os.getenv('DATASET_ID'),
|
| 226 |
+
repo_type='dataset',
|
| 227 |
+
filename='database.db',
|
| 228 |
+
cache_dir='./'
|
| 229 |
+
)
|
| 230 |
+
except:
|
| 231 |
+
pass
|
| 232 |
+
# Update DB
|
| 233 |
+
db_thread = threading.Thread(target=restart_space)
|
| 234 |
+
db_thread.daemon = True
|
| 235 |
+
db_thread.start()
|
| 236 |
+
create_db()
|
| 237 |
demo.queue(api_open=False).launch(show_api=False)
|