diff --git a/docs/serverless/worker.md b/docs/serverless/worker.md index 079e8f05..d6ec7119 100644 --- a/docs/serverless/worker.md +++ b/docs/serverless/worker.md @@ -16,6 +16,8 @@ RUNPOD_WEBHOOK_POST_OUTPUT= # URL to post output to RUNPOD_WEBHOOK_PING= # URL to ping RUNPOD_PING_INTERVAL= # Interval in milliseconds to ping the API (Default: 10000) +RUNPOD_ENDPOINT_ID= # Endpoint ID + # Realtime RUNPOD_REALTIME_PORT= # Port to listen on for realtime connections (Default: None) RUNPOD_REALTIME_CONCURRENCY= # Number of workers to spawn (Default: 1) diff --git a/runpod/serverless/modules/job.py b/runpod/serverless/modules/job.py index be5c390b..65710ecd 100644 --- a/runpod/serverless/modules/job.py +++ b/runpod/serverless/modules/job.py @@ -47,7 +47,7 @@ def run_job(handler, job): if isinstance(job_output, bool): run_result = {"output": job_output} elif "error" in job_output: - run_result = {"error": job_output['error']} + run_result = {"error": str(job_output['error'])} else: run_result = {"output": job_output} diff --git a/runpod/serverless/modules/logging.py b/runpod/serverless/modules/logging.py index 97520b9c..62e9bb48 100644 --- a/runpod/serverless/modules/logging.py +++ b/runpod/serverless/modules/logging.py @@ -4,7 +4,7 @@ from dotenv import load_dotenv LOG_LEVEL_ERROR = 'ERROR ' -LOG_LEVEL_WARN = 'WARNING' +LOG_LEVEL_WARN = 'WARN' LOG_LEVEL_INFO = 'INFO ' LOG_LEVEL_DEBUG = 'DEBUG ' @@ -16,8 +16,22 @@ def log(message, level='INFO'): ''' Log message to stdout if RUNPOD_DEBUG is true. ''' - if os.environ.get('RUNPOD_DEBUG', 'true') == 'true': - print(f'{level} | {message}', flush=True) + set_level = os.environ.get('RUNPOD_DEBUG_LEVEL', 'DEBUG').upper() + + if os.environ.get('RUNPOD_DEBUG', 'False') != 'true': + return + + if set_level == 'ERROR' and level != 'ERROR': + return + + if set_level == 'WARN' and level not in ['ERROR', 'WARN']: + return + + if set_level == 'INFO' and level not in ['ERROR', 'WARN', 'INFO']: + return + + print(f'{level} | {message}', flush=True) + return def log_secret(secret_name, secret, level='INFO'): diff --git a/runpod/serverless/modules/rp_fastapi.py b/runpod/serverless/modules/rp_fastapi.py index 910b6209..58a18b11 100644 --- a/runpod/serverless/modules/rp_fastapi.py +++ b/runpod/serverless/modules/rp_fastapi.py @@ -34,7 +34,8 @@ def __init__(self): self.config = {"handler": None} self.rp_app = FastAPI() - self.rp_app.add_api_route("/run", self.run, methods=["POST"]) + self.rp_app.add_api_route(f"{os.environ.get('RUNPOD_ENDPOINT_ID')}/realtime", + self.run, methods=["POST"]) def start_uvicorn(self, api_port): ''' diff --git a/setup.cfg b/setup.cfg index 6a1f415b..24ca9d26 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = runpod -version = 0.8.0 +version = 0.8.1 description = Official Python library for RunPod API & SDK. long_description = file: README.md long_description_content_type = text/markdown