Deploy a Worker service
Deploy a background worker on seenode for queue consumers, scheduled jobs, and long-running processes, with no public URL required.
New to seenode? Start free: 7-day trial, no credit card. Workers run on credit-based pricing from $3/mo.
A Worker service runs a long-lived process in the background with no public URL. Use it for queue consumers (Celery, RQ, BullMQ, Sidekiq, Oban), scheduled jobs, data pipelines, bots, and model training.
How a worker differs from a web service
A worker is deployed exactly like a web service, with two differences:
- No Port field: a worker doesn’t listen for HTTP requests, so there’s nothing to expose.
- No public URL and no Domains tab: a worker isn’t reachable from the internet. It can still reach your other services over the private network, and connect to a database.
Everything else is the same: Git-based deploys, the runtime Image, build and start commands, environment variables, logs and metrics, replicas, and persistent storage.
Warning (Your start command must stay running)
A worker’s start command must launch a long-lived process: a queue consumer, a scheduler, or a loop that blocks. If the command runs once and exits, seenode treats the worker as stopped and restarts it. Don’t use a one-off script as the start command.
Deploy a worker
-
Create a worker
In the dashboard sidebar, select Worker, then click Create worker (or use Create new… → Worker).
-
Connect your Git repository
Choose your Git provider (GitHub or GitLab) and select the repository and branch to deploy.
-
Configure the worker
seenode auto-detects your runtime. Set:
- Image: the language runtime (change the version if needed).
- Build command: install dependencies, e.g.
pip install -r requirements.txtornpm ci. - Start command: the long-lived process, for example:
- Python (Celery):
celery -A your_project worker --loglevel=info - Python (RQ):
rq worker - Node (BullMQ):
node worker.js - Elixir (Oban): runs inside your Phoenix/OTP release
- Python (Celery):
- Environment variables: e.g. your broker/queue and database URLs.
There is no Port field.
-
Deploy
Click Create instance and watch the build logs. Once the build succeeds and your process starts, the worker is live and processing.
Managing a worker
A worker has the same tabs as a web service except Domains: Logs (Runtime/Build), Envs, Storage, Usage (CPU/memory), and Settings (upgrade the instance, set replicas, enable auto-deploy). See Managing a service and Scaling.
Workers are billed on the same instance sizes as web services. See Pricing.