Commit Graph

5 Commits

Author SHA1 Message Date
GitLab Bot 9735395f94 Add latest changes from gitlab-org/gitlab@master 2019-09-26 06:06:27 +00:00
GitLab Bot b082790134 Add latest changes from gitlab-org/gitlab@master 2019-09-18 18:06:14 +00:00
Nick Thomas f0c52df5e5 sidekiq: terminate child processes at shutdown
Sidekiq jobs frequently spawn long-lived child processes to do work.
In some circumstances, these can be reparented to init when sidekiq is
terminated, leading to duplication of work and strange concurrency
problems.

This commit changes sidekiq so that, if run as a process group leader,
it will forward `INT` and `TERM` signals to the whole process group. If
the memory killer is active, it will also use the process group when
resorting to `kill -9` to shut down.

These changes mean that a naive `kill <pid-of-sidekiq>` will now do the
right thing, killing any child processes spawned by sidekiq, as long as
the process supervisor placed it in its own process group.

If sidekiq isn't a process group leader, this new code is skipped.
2019-03-04 09:06:41 -08:00
Douwe Maan ccb5bad6b8 Send SIGSTP before SIGTERM to actually give Sidekiq jobs 30s to finish when the memory killer kicks in 2017-11-02 15:33:19 +01:00
Achilleas Pipinellis d8f33c0a51 Move operations/ to new location
[ci skip]
2016-10-11 16:13:04 +02:00