| #!/bin/bash |
| |
| |
| |
| |
| |
|
|
| set -e |
|
|
| echo "π Starting DocGenie RQ Worker..." |
|
|
| |
| VENV_PATH="../.venv" |
| if [ -d "$VENV_PATH" ]; then |
| echo "β Activating virtual environment..." |
| source "$VENV_PATH/bin/activate" |
| else |
| echo "β Warning: Virtual environment not found at $VENV_PATH" |
| fi |
|
|
| |
| if [ -f .env ]; then |
| echo "β Loading .env file..." |
| eval $(python -c " |
| import os |
| from dotenv import load_dotenv |
| load_dotenv() |
| for key, value in os.environ.items(): |
| # Only export DocGenie related variables |
| if key.startswith(('REDIS', 'SUPABASE', 'ANTHROPIC', 'BATCH', 'MESSAGE', 'RQ_', 'GOOGLE')): |
| # Properly escape single quotes in the value |
| safe_value = value.replace(\"'\", \"'\\\\''\" ) |
| print(f\"export {key}='{safe_value}'\") |
| ") |
| else |
| echo "β Warning: .env file not found" |
| fi |
|
|
| |
| echo "π Checking Redis connection..." |
| if ! python -c "import redis; r = redis.from_url('${REDIS_URL:-redis://localhost:6379/0}'); r.ping()" 2>/dev/null; then |
| echo "β Error: Cannot connect to Redis" |
| echo " Please ensure Redis is running:" |
| echo " $ docker run -d -p 6379:6379 redis:latest" |
| echo " OR" |
| echo " $ redis-server" |
| exit 1 |
| fi |
| echo "β Redis connected" |
|
|
| |
| if [ -z "$SUPABASE_URL" ] || [ -z "$SUPABASE_KEY" ]; then |
| echo "β Error: SUPABASE_URL and SUPABASE_KEY must be set in .env" |
| exit 1 |
| fi |
| echo "β Supabase configured" |
|
|
| |
| if [ -z "$ANTHROPIC_API_KEY" ]; then |
| echo "β Error: ANTHROPIC_API_KEY must be set in .env" |
| exit 1 |
| fi |
| echo "β Claude API key configured" |
|
|
| |
| mkdir -p "${BATCH_DATA_DIR:-/tmp/docgenie_batches}" |
| mkdir -p "${MESSAGE_DATA_DIR:-/tmp/docgenie_messages}" |
| echo "β Temporary directories created" |
|
|
| |
| QUEUE_NAME="${RQ_QUEUE_NAME:-docgenie}" |
| echo "" |
| echo "============================================" |
| echo "Worker Configuration:" |
| echo " Queue: $QUEUE_NAME" |
| |
| echo " Redis: [HIDDEN]" |
| echo " Batch Data: ${BATCH_DATA_DIR:-/tmp/docgenie_batches}" |
| echo " Message Data: ${MESSAGE_DATA_DIR:-/tmp/docgenie_messages}" |
| echo "============================================" |
| echo "" |
| echo "β
Starting RQ worker (press Ctrl+C to stop)..." |
| echo "" |
|
|
| |
| |
| |
| |
| |
| PYTHONPATH="$(pwd):$PYTHONPATH" rq worker "$QUEUE_NAME" \ |
| --url "${REDIS_URL:-redis://localhost:6379/0}" \ |
| --verbose |
| |
|
|
| |
| |
|
|