In some cases, it may be desirable to run the Worker processes (for transcoding etc) on a separate host. This document is a work in progress, please report any issues you might find.
Deployment overview
To split the Worker application to a separate host from the rest of Avalon, essentially, you want to set up two identically-configured Avalon deployments -- but some services are not installed, or are disabled, on each.
Avalon Host should run
- Avalon application
- Redis
- Avalon DB (needs to be accessible from the Worker host)
- SOLR/Fedora (although these may be on separate hosts if desired)
The Avalon host should *not* be running this service (it needs to be explicitly disabled)
- Â Sidekiq
Worker Host should run
- Sidekiq
- Redis
Worker host should have these disabled or simply not installed:
- Avalon rails app
- Avalon DB (the Worker should not be running its own db, but it does need to be able to reach the Avalon DB)
- SOLR
- Fedora
Connecting the two instances
- The Avalon and Worker hosts have basically identical configurations, just with different services enabled.
- At the very least, they need to point to the same Avalon DB (which must be reachable from both hosts)
Configured in config/database.yml
- You *might* need to have identical Fedora configs on both hosts. It's unclear whether this is required on the Worker.
Configured in config/fedora.yml