🌌 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
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables: Create a
.envfile 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
- Poll: Worker checks Supabase for
PENDINGjobs - Claim: Worker atomically claims a job (
PENDING→CLAIMED) - Download: Downloads project zip from S3
- Build: Builds Docker image from Dockerfile
- Run: Executes container with output volume mounted
- Stream: Logs are streamed to Supabase in real-time
- Upload: Output files are uploaded to S3
- Complete: Job marked as
COMPLETEDorFAILED
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
Metadata
Release files for auralis-worker 0.2.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| auralis_worker-0.2.8.tar.gz | 9.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| auralis_worker-0.2.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / auralis_worker-0.2.8.tar.gz
| Download URL | auralis_worker-0.2.8.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e25aa6599052a08d40882563f277ebeee1e82a1b9a18bc496c83e753b4496b6c
|
|
BLAKE2b-256 checksum How to use checksums |
445f755039396c61181bd1d46b16fa68e10409f1e6dc8ab494ce31d62f538811
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / auralis_worker-0.2.8-py3-none-any.whl
| Download URL | auralis_worker-0.2.8-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62f8c11804eac6aebc52cb3c0449d66b782058e21d60dec47e97ef0ba26bcf47
|
|
BLAKE2b-256 checksum How to use checksums |
1f222ab08f1737d21b8d8f49d175bd0bf2f10ba813ae194350f951ecfa1f9dd2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Security for auralis-worker 0.2.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.