Commit 49d8393f authored by Evan Read's avatar Evan Read Committed by Achilleas Pipinellis

Edit of new Worker section

parent c6999c17
...@@ -587,29 +587,32 @@ procfile exec` to replicate the environment where your application will run. ...@@ -587,29 +587,32 @@ procfile exec` to replicate the environment where your application will run.
#### Workers #### Workers
Some web applications need to run extra deployments for "worker processes". For Some web applications need to run extra deployments for "worker processes". For
example it is common in a Rails application to have a separate worker process example, it is common in a Rails application to have a separate worker process
to run background tasks like sending emails. to run background tasks like sending emails.
The [default Helm chart](https://gitlab.com/gitlab-org/charts/auto-deploy-app) The [default Helm chart](https://gitlab.com/gitlab-org/charts/auto-deploy-app)
used in Auto Deploy [has support for running worker used in Auto Deploy [has support for running worker
processes](https://gitlab.com/gitlab-org/charts/auto-deploy-app/merge_requests/9). processes](https://gitlab.com/gitlab-org/charts/auto-deploy-app/merge_requests/9).
In order to run a worker you'll need to ensure that it is able to respond to In order to run a worker, you'll need to ensure that it is able to respond to
the standard health checks which expect a successful HTTP response on port the standard health checks, which expect a successful HTTP response on port
`5000`. For sidekiq you could make use of the `5000`. For [Sidekiq](https://github.com/mperham/sidekiq), you could make use of
[sidekiq_alive gem](https://rubygems.org/gems/sidekiq_alive) to do this. the [`sidekiq_alive` gem](https://rubygems.org/gems/sidekiq_alive) to do this.
In order to work with sidekiq you'll also need to ensure your deployments have In order to work with Sidekiq, you'll also need to ensure your deployments have
access to a redis instance. Auto DevOps won't deploy this for you so you'll access to a Redis instance. Auto DevOps won't deploy this for you so you'll
need to manage this separately and then set a CI variable need to:
`K8S_SECRET_REDIS_URL` which the URL of this instance to ensure it's passed
into your deployments.
Once you have configured your worker to respond to health checks you you will - Maintain your own Redis instance.
- Set a CI variable `K8S_SECRET_REDIS_URL`, which the URL of this instance to
ensure it's passed into your deployments.
Once you have configured your worker to respond to health checks, you will
need to configure a CI variable `HELM_UPGRADE_EXTRA_ARGS` with the value need to configure a CI variable `HELM_UPGRADE_EXTRA_ARGS` with the value
`--values helm-values.yaml`. Then you can, for example, run a `--values helm-values.yaml`.
[sidekiq](https://github.com/mperham/sidekiq) worker for your rails application
by adding a file named `helm-values.yaml` to your repo with the following Then you can, for example, run a Sidekiq worker for your Rails application
by adding a file named `helm-values.yaml` to your repository with the following
content: content:
```yml ```yml
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment