Start EVA Server#
Run on Google Colab | View source on GitHub | Download notebook |
Launch EVA server#
We use this notebook for launching the EVA server.
## Install EVA package if needed
# %pip install "evadb[dev]" --quiet
import os
import time
from psutil import process_iter
from signal import SIGTERM
import re
def shell(command):
print(command)
os.system(command)
def kill_server_with_pid(pid):
for proc in process_iter():
if proc.pid == pid:
proc.send_signal(SIGTERM)
def stop_eva_server():
# FIND eva PID
pid = None
try:
with open('eva.log', 'r') as f:
for line in f:
if 'PID' in line:
pid = re.findall(r'\(\d+\)', line)[0]
pid = pid[1:-1]
except FileNotFoundError:
pass
if pid is not None:
kill_server_with_pid(pid)
def launch_eva_server():
# Stop EVA server if it is running
stop_eva_server()
os.environ['GPU_DEVICES'] = '0'
# Start EVA server
shell("nohup eva_server > eva.log 2>&1 &")
try:
with open('eva.log', 'r') as f:
print(f.read())
except FileNotFoundError:
pass
# Wait for server to start
time.sleep(10)
def connect_to_server():
from eva.server.db_api import connect
%pip install nest_asyncio --quiet
import nest_asyncio
nest_asyncio.apply()
# Connect client with server
connection = connect(host = '127.0.0.1', port = 5432)
cursor = connection.cursor()
return cursor
# Launch server
launch_eva_server()
nohup eva_server > eva.log 2>&1 &
01-01-2023 23:08:30 INFO [catalog_manager:catalog_manager.py:_bootstrap_catalog:0073] Bootstrapping catalog
01-01-2023 23:08:30 INFO [base_model:base_model.py:init_db:0103] Creating tables
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.2593 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF FastRCNNObjectDetector already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0009 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF Array_Count already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0007 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF Crop already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0005 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF Open already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0006 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF YoloV5 already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0010 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF Similarity already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0005 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF DummyObjectDetector already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0005 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF DummyMultiObjectDetector already exists, nothing added.
01-01-2023 23:08:30 INFO [timer:timer.py:log_elapsed_time:0045] Query Compile Time: 0.0005 sec
01-01-2023 23:08:30 WARNING[create_udf_executor:create_udf_executor.py:exec:0042] UDF DummyFeatureExtractor already exists, nothing added.
01-01-2023 23:08:30 INFO [server:server.py:start_server:0096] Start Server
01-01-2023 23:08:30 INFO [server:server.py:start_server:0115] PID(78894) serving on ('0.0.0.0', 5432)