feat(core): Harden native Python task runner (no-changelog) (#18826)

This commit is contained in:
Iván Ovejero
2025-08-29 14:19:38 +02:00
committed by GitHub
parent e29ed1532a
commit 3b574306f3
8 changed files with 435 additions and 47 deletions

View File

@@ -1,23 +1,10 @@
import asyncio
import logging
import os
import sys
os.environ["WEBSOCKETS_MAX_LOG_SIZE"] = "256"
from src.constants import (
DEFAULT_MAX_CONCURRENCY,
DEFAULT_TASK_TIMEOUT,
ENV_MAX_CONCURRENCY,
ENV_MAX_PAYLOAD_SIZE,
ENV_TASK_BROKER_URI,
ENV_GRANT_TOKEN,
DEFAULT_TASK_BROKER_URI,
DEFAULT_MAX_PAYLOAD_SIZE,
ENV_TASK_TIMEOUT,
)
from src.env import parse_env_vars
from src.logs import setup_logging
from src.task_runner import TaskRunner, TaskRunnerOpts
from src.task_runner import TaskRunner
async def main():
@@ -26,20 +13,12 @@ async def main():
logger.info("Starting runner...")
grant_token = os.getenv(ENV_GRANT_TOKEN, "")
if not grant_token:
logger.error(f"{ENV_GRANT_TOKEN} environment variable is required")
try:
opts = parse_env_vars()
except ValueError as e:
logger.error(str(e))
sys.exit(1)
opts = TaskRunnerOpts(
grant_token,
os.getenv(ENV_TASK_BROKER_URI, DEFAULT_TASK_BROKER_URI),
int(os.getenv(ENV_MAX_CONCURRENCY, DEFAULT_MAX_CONCURRENCY)),
int(os.getenv(ENV_MAX_PAYLOAD_SIZE, DEFAULT_MAX_PAYLOAD_SIZE)),
int(os.getenv(ENV_TASK_TIMEOUT, DEFAULT_TASK_TIMEOUT)),
)
task_runner = TaskRunner(opts)
try: