mirror of
https://github.com/lfnovo/open-notebook.git
synced 2026-07-31 18:48:42 +00:00
The worker processes all queued tasks up to a fixed concurrency of 5, which overloads single-GPU / local-LLM setups and triggers rate limits (#893). The surreal-commands worker already accepts --max-tasks; wire it to a new OPEN_NOTEBOOK_WORKER_MAX_TASKS env var (default 5, set 1 for sequential) at every launch point. - Makefile (worker-start, start-all): --max-tasks "$${VAR:-5}" (Make-escaped) - dev-init.sh: POSIX ${VAR:-5} default expansion - supervisord.conf: wrap in sh -c so the shell expands the var (command= does not run through a shell) - docker-compose.yml: commented environment example - .env.example + environment-reference.md: document it, incl. the launch-time sourcing behavior Also fixes a phantom doc entry: SURREAL_COMMANDS_MAX_TASKS was documented but is not read anywhere (the worker's --max-tasks Typer option has no envvar); replaced with the real OPEN_NOTEBOOK_WORKER_MAX_TASKS. Closes #893
43 lines
1.2 KiB
Bash
Executable file
43 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
# Development environment startup for Open Notebook
|
|
# Assumes SurrealDB is already running externally (per .env config)
|
|
|
|
set -e
|
|
|
|
echo "=== Open Notebook Dev Startup ==="
|
|
|
|
# Check SurrealDB connectivity
|
|
SURREAL_PORT=${SURREAL_PORT:-8018}
|
|
echo "Checking SurrealDB on port $SURREAL_PORT..."
|
|
if ! nc -z localhost "$SURREAL_PORT" 2>/dev/null; then
|
|
echo "❌ SurrealDB not reachable on port $SURREAL_PORT. Please start it first."
|
|
exit 1
|
|
fi
|
|
echo "✅ SurrealDB is running"
|
|
|
|
# Install dependencies if needed
|
|
echo "Syncing Python dependencies..."
|
|
uv sync
|
|
|
|
echo "Syncing frontend dependencies..."
|
|
cd frontend && npm install && cd ..
|
|
|
|
# Start API backend in background
|
|
echo "Starting API backend (port 5055)..."
|
|
uv run --env-file .env run_api.py &
|
|
sleep 3
|
|
|
|
# Start background worker in background
|
|
echo "Starting background worker..."
|
|
uv run --env-file .env surreal-commands-worker --import-modules commands --max-tasks "${OPEN_NOTEBOOK_WORKER_MAX_TASKS:-5}" &
|
|
sleep 2
|
|
|
|
# Start frontend (foreground)
|
|
echo "Starting Next.js frontend (port 3000)..."
|
|
echo ""
|
|
echo "✅ All services starting!"
|
|
echo " Frontend: http://localhost:3000"
|
|
echo " API: http://localhost:5055"
|
|
echo " API Docs: http://localhost:5055/docs"
|
|
echo ""
|
|
cd frontend && npm run dev
|