Skip to content

Commit

Permalink
Merge pull request #71 from CambioML/mlu-conference
Browse files Browse the repository at this point in the history
Mlu conference
  • Loading branch information
jwilber authored Sep 27, 2023
2 parents 9b64d82 + 8c9468b commit 6a6b901
Showing 1 changed file with 32 additions and 3 deletions.
35 changes: 32 additions & 3 deletions pykoi/application.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
"""Application module."""
import asyncio
import os
import re
import socket
import subprocess
import threading
import time

Expand Down Expand Up @@ -746,13 +749,38 @@ async def read_item(
self._telemetry.capture(start_event)

if self._share:
public_url = ngrok.connect(self._host + ":" + str(self._port))
print("Public URL:", public_url)
import nest_asyncio

nest_asyncio.apply()
command = f"ssh -o StrictHostKeyChecking=no -R 80:{self._host}:{self._port} [email protected]"
process = subprocess.Popen(
command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True,
text=True,
)
# Get the public URL without waiting for the process to complete
while True:
line = process.stdout.readline()

if not line:
break
# return url
match = re.search(r"(\bhttp[s]?://[^\s]+)", line)
if match:
public_url = match.group(1)
print("Public URL:", public_url)
break

# The process will continue to run in the background here
import uvicorn

uvicorn.run(app, host=self._host, port=self._port)
print("Stopping server...")
ngrok.disconnect(public_url)

# Once done, you may choose to terminate the ssh process
process.terminate()
else:
import uvicorn

Expand All @@ -769,6 +797,7 @@ def display(self):
"""
Run the application.
"""
print("hey2")
import nest_asyncio

nest_asyncio.apply()
Expand Down

0 comments on commit 6a6b901

Please sign in to comment.