Skip to main content

Auralis Worker Node - Distributed AI Compute Platform

Project description

🌌 Auralis Worker Node

The worker node polls for pending jobs, executes them in Docker containers, and streams logs back to the dashboard.

Prerequisites

  • Python 3.10+
  • Docker installed and running
  • AWS credentials configured
  • Supabase credentials configured

Setup

  1. Install dependencies:

    pip install -r requirements.txt
    
  2. Configure environment variables: Create a .env file in the worker directory:

    # Supabase
    SUPABASE_URL=your-supabase-url
    SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
    
    # AWS S3
    AWS_ACCESS_KEY_ID=your-aws-key
    AWS_SECRET_ACCESS_KEY=your-aws-secret
    AWS_REGION=us-east-1
    S3_BUCKET_NAME=auralis-job
    
    # Worker Config
    WORKER_ID=my-local-worker
    COMPUTE_TYPE=cpu
    POLL_INTERVAL=10
    WORK_DIR=/tmp/auralis-worker
    

Usage

Auto-Poll Mode (Default)

Continuously polls for pending jobs and executes them:

python main.py

Run Specific Job

Execute a specific job by ID:

python main.py --job-id abc123-def456

Options

-j, --job-id    Run a specific job by ID
-w, --worker-id Unique worker identifier (default: worker-<pid>)

How It Works

  1. Poll: Worker checks Supabase for PENDING jobs
  2. Claim: Worker atomically claims a job (PENDINGCLAIMED)
  3. Download: Downloads project zip from S3
  4. Build: Builds Docker image from Dockerfile
  5. Run: Executes container with output volume mounted
  6. Stream: Logs are streamed to Supabase in real-time
  7. Upload: Output files are uploaded to S3
  8. Complete: Job marked as COMPLETED or FAILED

Architecture

worker/
├── main.py           # Entry point, polling loop
├── job_runner.py     # Docker build & run logic
├── supabase_client.py # Job queries & log streaming
├── s3_client.py      # File upload/download
└── requirements.txt  # Dependencies

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auralis_worker-0.2.6.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auralis_worker-0.2.6-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file auralis_worker-0.2.6.tar.gz.

File metadata

  • Download URL: auralis_worker-0.2.6.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for auralis_worker-0.2.6.tar.gz
Algorithm Hash digest
SHA256 2ed26d59d60c385254096f0f4b714de68c742f0220557d077d07b60e2e20ae40
MD5 8817f40182a98b8a98be662aabeb09e2
BLAKE2b-256 f2e22a61ad481067a5d667e4e649f9aae0ed9b93113b41f2903aca6a6626b2b6

See more details on using hashes here.

File details

Details for the file auralis_worker-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: auralis_worker-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for auralis_worker-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7c6c4bed4fc1c166197c9bff5b58166e94cac514f668fe589be7a94639f4152c
MD5 57c3dea2ff0fdcee8101057a3e6a7a1a
BLAKE2b-256 ec95d5e1720aeebda69624259e2609362e5b1c65ae1543eb6e9f44c9b5d12202

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page