Interactive session workflow templates for the Parallel Works ACTIVATE platform. Each workflow launches a service (Jupyter, desktop, web app, etc.), waits for it to be ready, and exposes it through the platform session proxy.
-
Copy the template
cp -r workflows/hello-world workflows/my-service
-
Edit the workflow files
workflow.yaml- Workflow definition (inputs, jobs, session config)setup.sh- Controller setup script (downloads, dependencies)start.sh- Service startup script (runs on compute node)
-
Run through the ACTIVATE platform
For platform usage details, see:
activate-sessions/
├── workflows/
│ └── hello-world/ # Template workflow (start here)
│ ├── workflow.yaml # Workflow definition
│ ├── setup.sh # Controller setup script
│ ├── start.sh # Compute node service script
│ └── README.md # Workflow documentation
├── utils/
│ └── wait_service.sh # Shared coordination script
├── tests/ # Pytest validation tests
├── README.md # This file
└── DEVELOPER_GUIDE.md # Detailed development guide
Workflows use two scripts that run at different stages:
| Script | Runs On | Purpose |
|---|---|---|
setup.sh |
Controller/login node | Download dependencies, pull containers, prepare shared resources |
start.sh |
Compute node | Start the service, write coordination files, keep session alive |
Why two scripts? Controller nodes typically have internet access while compute nodes often don't. Downloads happen once on the controller before the job is submitted.
Each workflow follows this 5-job pattern:
- preprocessing - Checkout scripts from git, run
setup.sh - session_runner - Submit
start.shto compute node via job_runner - wait_for_service - Waits for service to be ready (checks for coordination files)
- update_session - Configures the session proxy
- complete - Displays connection URLs
Your start.sh script creates these files:
HOSTNAME- The hostname where the service is runningSESSION_PORT- The port the service is listening onjob.started- Signals that the service is ready
See hello-world for a complete working example.
pytest -v- DEVELOPER_GUIDE.md - Detailed guide for creating workflows
- workflows/README.md - Workflow directory overview
- tests/README.md - Test documentation
MIT