Edit of new Worker section
This commit is contained in:
parent
c6999c175f
commit
49d8393f28
1 changed files with 17 additions and 14 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue